例如:
@app.task()
def f(num):
if num == 0:
# shutdown this worker
# celery will not distribute any tasks to this worker
else:
return num
芹菜 - 任务工作者--loglevel = info -n worker1
当芹菜将0分配给worker1时,worker1将被杀死。 在文档The broadcast() function
中>>> broadcast("shutdown") # shutdown all workers
>>> broadcast("shutdown, destination="worker1.example.com")
但这是错误的,我将其更改为
>>> broadcast("shutdown", destination=["worker1"])
它也不起作用。
那么,如何实现这个功能呢?
答案 0 :(得分:0)
通常,工作人员姓名以' celery @ '开头。所以在你的情况下尝试下面的代码:
celery.control.broadcast('shutdown', destination=['celery@worker1'])