2011-08-08 3 views
1

私はdjangoセロリを使ってプロジェクトを開始しています。私は 'djcelery.urls'によって提供されたタスクURLをajax呼び出ししています。django-celeryのURLが提供するデータはどこに保存されていますか?データはどのくらいの期間利用可能ですか?そして、メモリ消費量は?

私は、このデータについてのいくつかのことを知っていただきたいと思います:

    その情報が格納されている
  1. ?私のdjangoプロジェクトデータベースのdjceleryテーブルから呼び出されているのですか、それともRabbitMQサーバーに保持されていますか?私のデータベースのdjceleryテーブルの私の理解は、彼らはカメラを使用しての使用状況を監視するためだけです。

  2. RabbitMQサーバーに格納されている場合、タスクステータスレポートはどのくらいの期間利用できますか?このデータはどのくらいのメモリを消費しますか?

  3. メモリリークを防ぐためにタスクステータスレポートを定期的にフラッシュする必要がありますか?これはどのようにして行われますか? rabbitmqサーバーを再起動しますか?

ありがとう。

答えて

3

結果はCELERY_RESULT_BACKENDに保存されますが、デフォルトでは無効になっています。

task_idHow do I get the result of a task if I have the ID that points there?の新しいcelery.result.AsyncResultを作成して、タスクの結果を得ることができます。

CELERY_AMQP_TASK_RESULT_EXPIRESを設定しない限り、タスクは期限切れになりません。 AsyncResult.forget()を使用して、タスクの結果を手動で削除することができます。

関連する問題