[英]How to provide user constant notification about Celery's Task execution status?
[英]Notification about task execution flask and celery
我將 celery 和 flask 與 mongodb 后端和代理一起使用。
我試圖了解在運行一組同步任務后發出通知的最佳方式是什么。
function 都有一個名為@celery.task
的裝飾器
def abc():
# do something
def fgh():
# do something
為了運行這些程序,我使用(abc.s() | fgh.s()).delay()
來運行這些任務。
一旦這些任務完全執行,我如何向主程序發出信號?
您可以嘗試使用 Redis 作為 Celery 后端的燒瓶通知。 另一種方法:檢查任務狀態/狀態(類似於status = celery.AsyncResult(str(task_id)).status
)並在循環中等待間隔time.sleep(10)
(例如, while True: ...
)並更新進度jquery 的某些頁面上的欄。 任務完成后(SUCCESS 或 FAILED 狀態),您可以使用flash('your message')
顯示消息或設置重定向。 希望那有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.