更新: でクラスを渡すことさえできないことがわかりましたenqueue
。これを行うことは可能ですか?
item
でオブジェクト (Django のモデル) をパラメーターとして渡したいのですqueue.enqueue(grabber.parse_body, item)
が、rqworker
この例外が発生します (使用するかどうかにかかわらず、アイテムをパラメーターとして渡そうとすると):
ファイル "/usr/local/lib/python3.4/dist-packages/rq/job.py"、53 行目、unpickle で UnpickleError('Could not unpickle.', pickled_string, e) rq.exceptions.UnpickleError: ( 'Could unpickle.', ImproperlyConfigured('INSTALLED_APPS の設定を要求しましたが、設定が構成されていません。設定にアクセスする前に、環境変数 DJANGO_SETTINGS_MODULE を定義するか、settings.configure() を呼び出す必要があります。',))
それparse_body
が何であるかわからないようitem
ですか?
アイテムの id をパラメーターとして渡してから、 で id を処理できることはわかっていますが、これをで直接parse_body
使用することは可能ですか?item
parse_body
私のメインコード: (enqueue.py
とgrabber.py
は独立したスクリプトであり、Django アプリではありません。)
enqueue.py
import os
import grabber
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "website.settings.development")
queue = django_rq.get_queue('default')
need_to_parse = Post.objects.all()
for item in need_to_parse:
queue.enqueue(grabber.parse_body, item)
グラバー.py
def parse_body(item):
print(item)