4

resque-scheduler,我如何 rspec-test 某些作业每 30 秒排队一次?

这是我的resque-scheduler.yml文件:

hipchat_schedule:
 queue: hipchat
 every: 30s
 class: HipChatPolling

有非常有用的 resque_spec gem,但我不确定它是否可以测试every-clause。

4

1 回答 1

3

resque-scheduler首先,我认为这是由gem(或者准确地说,在rufus-schedulergem 中)而不是在你身边进行测试的——并且必须被测试。如果没有发生调度,那么这不是您的应用程序中的错误,而是 gem 中的错误。

但是,如果你想测试它,你有两种方法:

  • 在工作中进行一些可测试的更改并通过测试进行检查(例如触摸文件,在某处记录开始时间等
  • 监视 Resque 的队列并等待作业类出现两次,并计算两次出现之间经过的时间。

请注意,为此,您必须确保Resque.inline在测试之前禁用设置!

于 2013-03-23T21:59:25.127 回答