我在Docker中运行Celery Flower(有关详细信息,请参见this question)。该命令最终为:

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

我已经在/flower上设置了永久卷。但是,即使经过30分钟的正常运行时间(在此期间处理了约120个任务),Flower也似乎从未将任何内容写入其数据库文件:
-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偶尔刷新其数据库,或者更好地优雅退出?

最佳答案

要清除,您可以将max_tasks设置为合适的数字。

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

这限制了将存储在数据库中的任务数。一旦达到限制,它将丢弃旧任务。

您可以checkout docs获得更多配置选项。

关于docker - 偶尔刷新Flower数据库和/或从Docker正常退出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35929907/

10-10 19:10