11

セロリでタスクがいつどのようにクリーンアップされるかを理解しようとしています。タスクドキュメントを見ると、次のことがわかります。

CELERY_TASK_RESULT_EXPIRES設定に基づいて、古い結果が自動的にクリーンアップされます。デフォルトでは、これは1日後に期限切れになるように設定されています。非常にビジーなクラスターがある場合は、この値を下げる必要があります。

ただし、この引用はRabbitMQ Result Backendセクションからのものであり、DatabaseBackendセクションに同様のテキストは表示されません。だから私の質問は:セロリを使った古いタスクのクリーンアップのために取ることができるバックエンドにとらわれないアプローチがありますか?そうでない場合は、私が取るべきDBバックエンド固有のアプローチがありますか?違いが生じる場合は、django-celeryを使用しています。ありがとう。

4

1 に答える 1

10

CELERY_TASK_RESULT_EXPIRESの設定ドキュメントへのリンクをクリックした場合:

http://docs.celeryproject.org/en/latest/userguide/configuration.html#result-expires

データベースがこれをサポートしているとは言っていますが、次にセロリビートを実行する必要があります(期限切れの結果を削除するために、毎日呼び出されるデフォルトの定期的なタスクがあります)。

タスクのバックエンドドキュメントでは、おそらくこれについても言及する必要があります。バックエンド専用のガイドもあるはずです。このためにロビー活動をしたい場合は、https://github.com/celery/celery/issuesで問題を開いてください。

于 2012-10-31T11:14:10.430 に答える