【问题标题】:celery: how to count total number of messages in a queue every interval?芹菜:如何计算每个间隔队列中的消息总数?
【发布时间】:2015-01-20 08:29:58
【问题描述】:

我想监控一个队列,以便在它变空时得到通知。为此,我需要找出队列中有多少消息,并且此任务需要在每个间隔前运行。每 15 秒一次。

我很困惑阅读那些说你不应该在工作人员中使用 celerybeat 进行生产的文档,这是否意味着我需要创建一个单独的 python 脚本来利用周期性任务?不知道如何实现。

【问题讨论】:

  • 在另一个进程中运行 beat:$ celery beat

标签: python celery


【解决方案1】:

您可以使用this answer 检索队列中的消息数。

对于节拍,您始终可以使用开始一个新进程

celery beat

如果您根本不想使用 beat,您可以安排一个 cron 作业来为您完成。

【讨论】:

  • 说我正在使用 pyrabbit,我如何告诉 celery beat 每 30 秒运行一次?
  • 我应该把 CELERYBEAT_SCHEDULE 放在哪里,与我的工人使用的脚本相同?那不会创建多个时间表吗?还是只有具有-B 选项的工作人员在每个时间间隔运行该选项?如果一个worker没有指定-B,它会忽略它吗?
  • this(gist.github.com/ChillarAnand/f660e18ca4a4c13a8645) 是我的定期任务,我用celery beat -A periodic_task 运行工人
猜你喜欢
  • 2015-01-05
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 2022-10-06
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 2014-11-24
相关资源
最近更新 更多