如何更新Celery任务状态以便在Flower中查看?
在使用Python的Celery任务回调来处理Redis队列中的任务时,如何动态地改变状态,以便在Flower中显示中间更新呢?
@shared_task(queue='my_queue', bind=True)
def process_event( self, payload ):
self.update_state( state="PROGRESS", meta={ 'current': 1, 'max': 10 } )
time.sleep( 5 )
self.update_state( state="SUCCESS" )
time.sleep( 5 )
return true
奇怪的是,Flower只显示“开始”、“成功”或“失败”。
我是不是做错了什么?
我需要用一个单独的任务来更新状态,然后在任务中异步调用它吗?
我尝试了各种组合,包括在Visual Studio Code的调试控制台中更改状态。
我知道状态和状态更新了,因为我可以把它取出来,但Flower就是不显示。
有什么想法吗?我打算试试用一个单独的异步任务,看看能不能成功。
0 个回答
暂无回答