从芹菜帮助功能:
> celery worker -h
...
Embedded Beat Options:
-B, --beat Also run the celery beat periodic task scheduler. Please note that there must only be
one instance of this service. .. note:: -B is meant to be used for development
purposes. For production environment, you need to start celery beat separately.
Run Code Online (Sandbox Code Playgroud)
这也出现在文档中。
您还可以通过启用 worker -B 选项将 beat 嵌入到 worker 中,如果您永远不会运行多个 worker 节点,这会很方便,但它并不常用,因此不建议用于生产用途:
celery -A proj worker -B
但实际上并没有解释为什么在生产中使用它是“糟糕的”。会喜欢一些见解。
该--beat选项将与工作人员一起启动节拍调度程序。
但你只需要一个节拍调度器?
在生产环境中,您通常有不止一个工人在运行。使用--beat选项将是一场灾难。
例如:您在每天上午 12 点安排了一个活动。
如果您开始两拍流程,则该活动将在每天上午 12 点运行两次。
如果您永远不会运行多个工作节点,那么--beat选择就好了。