在不轮询的情况下监视 celery 任务状态?

Dav*_*ver 5 python celery

是否可以在不轮询的情况下监视 celery 任务的状态?

例如,如果我有一个使用update_state以下命令定期更新其状态的任务:

@task(bind=True)
def my_task(self):
    for x in range(100):
        time.sleep(1)
        self.update_state(state='PROGRESS', meta={'x': x})
Run Code Online (Sandbox Code Playgroud)

是否可以在不轮询的情况下从另一个进程监视该状态?

Tay*_*ton 3

我自己还没有这样做过,所以这不是一个完整的答案,但我有兴趣解决同样的问题。我有三个值得考虑的想法: