2

Docker で Celery Flower を実行しています (詳細については、この質問を参照してください)。コマンドは次のようになります。

celery -A proj flower --persistent=True --db=/flower/flower

で永続的なボリュームをすべてセットアップしました/flower。ただし、Flower は、30 分間のアップタイム (その間に ~120 のタスクが処理された) の後でも、データベース ファイルに何も書き込まないように見えます。

-rw-r--r--  1 user user    0 Mar 11 00:08 flower.bak
-rw-r--r--  1 user user    0 Mar 10 23:29 flower.dat
-rw-r--r--  1 user user    0 Mar 11 00:08 flower.dir

Docker コンテナーを正常に停止しても機能しないため、Docker は強制的にコンテナーを強制終了します。つまり、データベースには何も書き込まれず、何も永続化されていないかのようになります。

Flower にデータベースを時々フラッシュさせる方法、またはさらに良いことに、正常に終了させる方法はありますか?

4

2 に答える 2

6

フラッシュアウトするにはmax_tasks、適切な数に設定できます。

celery -A proj flower --persistent=True --db=/flower/flower --max_tasks=100

これにより、データベースに保存されるタスクの数が制限されます。制限に達すると、古いタスクは破棄されます。

より多くの構成オプションについては、ドキュメントをチェックアウトできます。

于 2016-04-23T17:32:29.980 に答える