关联/跟踪Celery任务

时间:2018-02-20 20:28:13

标签: flask celery

我为公司创建了一个内部工具(用烧瓶开发),允许我的同事重新启动和重新部署我们的应用程序。当用户单击“重新部署”或“重新启动”按钮时,将生成一个芹菜任务,该任务在后台执行所有工作。

enter image description here

例如,当单击“重新启动”按钮时,我的应用程序:1)命中启动芹菜任务的API端点; 2)使用jquery,我用“Restarting app ...”文本替换按钮; 2)将data-id=元素添加到相应的应用程序标记中,以便应用程序可以持续轮询芹菜工作者,以便它可以在完成时进行报告。

这一切都非常适合点击按钮的用户。但是,当第二个用户在浏览器中打开页面时,他们不知道应用程序已重新启动,因为我还没有将celery任务ID与应用程序存储/关联。这让我想到了我的问题,是否有将两者联系起来的最佳做法?我倾向于在我的应用程序模型中创建一个celery_task_id字段,并在任务启动时添加新的celery task id,并在任务结束时将其删除。这是一个好方法吗?任何建议都将不胜感激。

0 个答案:

没有答案