我正在尝试编写一个基本任务类,它将在执行某些操作之前检查工作人员的可用性。 通过阅读this文章,我得出以下结论:
class BaseTask(Task):
def apply_async(self, *args, **kwargs):
if not celery.control.inspect().stats():
raise Exception("workersDown")
Task.apply_async(self, *args, **kwargs)
然而,这似乎只是第一次。 我知道a task is not instantiated each time,但它是相关联的吗? 有没有其他方法可以达到我想要的?在
编辑:
我发现将基本任务设置为抽象任务有帮助,但仍会产生一些误报(有时,虽然工作人员已起床,但仍会引发异常):
^{pr2}$
对于给定的celery应用实例,只能调用
inspect()
一次。下面是您可以在任务中使用的小代码段:相关问题 更多 >
编程相关推荐