13

Celery タスクはどのようにして Django データベース抽象化 API にアクセスできますか? これは、スタンドアロンの Django ORM を使用するための戦略の 1 つを使用してゼロからコーディングする必要がありますか?それとも、より合理化された組み込みの方法または一般的な方法がありますか?

誰もこの質問をしていないようです。しかし、私にとっては、それが基本です。

このは大したことではないことを示していますが、Celery と Django の間でセッション管理と ORM スコープがどのように機能するかを誰か説明できますか?

4

2 に答える 2

6

デフォルトでは、Celery はそのタスク パラメータをピクルします。Django モデルのインスタンスもピクルできます。

問題は、モデル インスタンスをピクルすることは、その時点でのスナップショットを撮るようなものだということです。unpickle はデータベースに触れません。

これが良いか悪いかは、あなたのニーズ次第だと思います。私は自分のタスクに主キーを送信し、問題のオブジェクトを再クエリする傾向があります。

于 2012-08-13T22:16:30.403 に答える
0

おそらくdjango-celeryを見たいと思うでしょう。

セロリ タスクとして作業を行う場合、すべての詳細をセロリに渡す必要があります。たとえば、電子メールを送信するには、「from」、「to」、「subject」、および「body」の値を渡します。

その後、アクションが完了したことをユーザーに通知したい場合は、おそらくDjangoのメッセージ フレームワークのようなものを見たいと思うでしょう。

それが役立つことを願っています。

于 2011-07-18T15:16:14.310 に答える