【发布时间】:2014-06-13 07:16:32
【问题描述】:
我想知道在将芹菜任务部署到工作人员之后,有哪些选项可以从浏览器监控它们?
我当前的应用程序堆栈是一个在 twisted 内部运行的烧瓶应用程序,使用 celery 运行数十到数千个小型后台任务(更新存储库中的元数据,创建图像衍生品等)我正在设想使用 ajax 长轮询来监控用户发起的celery任务的状态。我正在使用 redis 作为后端代理和结果。
我看到 celery 有一些命令行方式来监控任务,或者flower 用于 Web 仪表板。但是,如果我想从发送到 celery 的特定任务中查看更详细的状态,那么该任务打印/写入日志文件是否更有意义,然后长轮询该文件以从烧瓶前端进行更改?
此时用户可以说,“更新这 10,000 个项目”,任务被发送到 celery,前端很快说,“任务发送!”。并且任务确实完成了。但我想让用户导航到“/status”并查看这 10,000 个小作业的状态——即使是滚动日志文件也可能会起作用。
任何建议将不胜感激。花了很多时间才把事情写得这么远,但我正在转动我的轮子,弄清楚究竟什么要从用户前端进行长轮询。
【问题讨论】:
标签: python redis flask celery long-polling