有没有办法在Celery中拥有共享计数器(在工作人员之间共享)?我也对如何解决我的问题的其他想法持开放态度,但我想坚持芹菜。这是我的问题:
我的任务依赖于传递给它的索引。这些任务可以通过或失败,但我需要针对一些传递的任务。如果一个工作失败,它应该用下一个可用的索引启动一个新工作。
我当然可以通过跟踪活动作业并启动新作业的功能来做到这一点,但是如果有内置的东西那就太棒了。
答案 0 :(得分:1)
您可以使用task_failure
芹菜信号。
from celery.signals import task_failure
@task_failure.connect
def fail_task_handler(sender=None, body=None, **kwargs):
print('a task has failed')
# start new task or do something else
更多http://celery.readthedocs.org/en/latest/userguide/signals.html#task-failure