如何在Celery中创建共享计数器?

时间:2015-05-01 10:31:33

标签: python celery celery-task

有没有办法在Celery中拥有共享计数器(在工作人员之间共享)?我也对如何解决我的问题的其他想法持开放态度,但我想坚持芹菜。这是我的问题:

我的任务依赖于传递给它的索引。这些任务可以通过或失败,但我需要针对一些传递的任务。如果一个工作失败,它应该用下一个可用的索引启动一个新工作。

我当然可以通过跟踪活动作业并启动新作业的功能来做到这一点,但是如果有内置的东西那就太棒了。

1 个答案:

答案 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