是否应该要求resque-scheduler队列处理/批量/延迟作业?

时间:2011-12-15 22:28:55

标签: ruby-on-rails ruby resque

我目前正在一个应用程序中使用resque和resque-scheduler,这个应用程序必须处理大量的重复工作 - “每小时都这样做”,“每天都这样做”等等。目前,我只是排队等待在作业本身的下一次作业中,HourlyJob队列有一个.enqueue_at(1.hour.from_now,HourlyJob)等。

我应该这样做吗?它“感觉”就像我应该使用resque-schedulers cron类型的功能进行静态重复性工作,然后安排说下一个5分钟的延迟工作......但我真正做的就是将工作从(可能)对我的(可能不太好实现,基于mysql的)代码的resque-scheduler肯定是快速的,基于redis的调度程序吗?

我现在的表现有什么不妥吗?

1 个答案:

答案 0 :(得分:0)

我个人使用resque-scheduler提供的cron样式,你的用例正是它的构建原因:

  • 您更直接地指出这些是经常性的工作。
  • 所有内容都位于同一个YAML文件中,而不是多个作业类/模块。

通过在实际工作中排队下一次工作:

  • 当您的工作人员/作业/服务器发生故障时,您将面临下一次运行失踪的风险。
  • 您不必要地在Redis中使用更多内存,调度程序进程在准备好运行之前不会将作业添加到Redis。

跳这有帮助。