监控 Huey(Redis 队列、队列中的时间和工作人员数量)

tam*_*yte 7 python-huey

为休伊换了芹菜,我喜欢它的一切:)

Celery 有一件我很怀念的事情是它的花卉监控工具。是否有适用于 Huey 的监控工具?

我们需要跟踪 Redis 队列中的任务数量、任务在被工作人员接收之前进入队列所花费的总时间,以及正在运行的工作人员数量。

是否有任何 Huey 钩子可以帮助解决这个问题?

我已经查看了 Huey 事件,但它们似乎只有在消费者接受任务后才会触发。

我现在的计划是:

  1. 当任务被排队时,将时间戳作为参数传递给任务,然后我可以将它与工作人员从队列中拉出的时间戳进行比较。这将获得排队时间。

  2. 我可以创建一个服务,在 Redis Huey 队列上调用 LLEN 来跟踪作业。

  3. 我不确定获得# 工人的最佳方式。理想情况下,如果我们的任务队列达到一定长度,我们希望增加 Huey 工作线程的实例数量。

有没有人有监控 Huey 的经验?我在文档中遗漏了什么可以帮助这个过程?

Joh*_*ohn 3

Huey 的信号可以帮助监控每个任务发生的某些生命周期事件 - 例如计划的、触发的、完成的、错误的。如果您为这些事件添加时间戳,则可以确定每个阶段花费的时间。该SIGNAL_ERROR钩子对于通过 Sentry 或 Slack 发出警报特别有用。

我还没有深入研究监视当前正在使用的线程/进程的数量,但我确信这是可行的。我在下面构建了非常简单的监视器仪表板。

休伊监控仪表板