gpt4 book ai didi

python - Python Celery 任务的状态

转载 作者:可可西里 更新时间:2023-11-01 11:04:47 32 4
gpt4 key购买 nike

我想知道在将 celery 任务部署到 worker 之后,有哪些选项可用于从浏览器监控这些任务?

我当前的应用程序堆栈是一个在 twisted 中运行的 flask 应用程序,使用 celery 运行数十到数千个小型后台任务(更新存储库中的元数据、创建图像衍生品等)。我设想使用 ajax 长轮询来监控用户发起的 celery 任务的状态。我将 redis 用于后端代理和结果。

我看到 celery 有一些命令行方式来监控任务,或者 flower对于网络仪表板。但是,如果我想从发送到 celery 的特定任务中查看更详细的状态,那么打印/写入日志文件的任务是否更有意义,然后长轮询该文件以从 Flask 前端获取更改?

此时用户可以说“更新这 10,000 个项目”,任务被发送到 celery,前端很快说“作业已发送!”。任务确实完成了。但我想让用户导航到“/status”并查看这 10,000 个小作业的状态——即使是滚动日志文件也可能有效。

如有任何建议,我们将不胜感激。花了很多时间才把事情勾勒出来,但我正在转动我的轮子来弄清楚从用户前端进行长轮询的确切什么

最佳答案

尝试扩展 Celery 的 Jobstatic。

来自项目描述:

Jobtastic给你这样的好东西:

  • 简单的进度估算/报告
  • 工作状态反馈
  • 用于优雅地处理死任务代理的辅助方法(delay_or_eager 和 delay_or_fail)
  • super 简单的结果缓存
  • 避雷群
  • 与 celery jQuery 插件集成,方便客户端显示进度
  • 任务运行中的内存泄漏检测

关于python - Python Celery 任务的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23329291/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com