Resque:不要将多余的工作排入队列?

时间:2017-09-10 14:53:09

标签: ruby-on-rails resque resque-scheduler

我有一组Resque队列,按优先级排列。对于最低优先级队列上的所有作业,它们没有参数,稍后的运行将取代任何先前的运行 - 例如他们正在与外部服务同步数据。因此,创建一个包含这些作业的多个副本的积压是没有意义的 - 连续三次运行它不会增加任何价值。

但是在繁忙时期,由于工作人员忙于优先级较高的工作,我们确实会得到积压(仅限此队列)。

我是否可以通过阻止冗余作业排在第一位来阻止此积压?

1 个答案:

答案 0 :(得分:0)

是的,有宝石可以做到这一点。 (AFAICT,他们通过使用其参数列表对作业类进行哈希处理并在Redis中分别维护一组已经排队的")

请参阅https://github.com/resque/resque-lonerhttps://github.com/neighborland/resque_solo