如何查询芹菜任务的状态



使用此代码,是否可以查询工作人员state是处于state=1还是state=2?

from celery import Celery
import time
#celery -A CeleryTask worker --loglevel=info
app = Celery("CeleryTask", backend="redis://localhost", broker="redis://localhost")

@app.task
def train():
for i in range(100):
if i<5:
state=1
else:
state=2
time.sleep(10)
return "hallo"
if __name__ == '__main__':
result = train.delay()

Celery非常棒,它为您提供了创建自己的自定义状态并使用update_state((方法更新它们的机制。

来自(链接的(文档:

@app.task(bind=True)
def upload_files(self, filenames):
for i, file in enumerate(filenames):
if not self.request.called_directly:
self.update_state(state='PROGRESS',
meta={'current': i, 'total': len(filenames)})

在您的情况下,您所要做的就是用meta={"state":X}调用update_state((,其中X是1或2…

相关内容

  • 没有找到相关文章

最新更新