【问题标题】:Testing resque-scheduler测试 resque-scheduler
【发布时间】:2013-03-24 05:59:25
【问题描述】:

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

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

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

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

【问题讨论】:

  • resque_spec 仅允许您测试作业是否已排队 - 无法使用该 gem 来测试调度过程(加载您的 yaml 文件)。我正在寻找一个可以测试调度过程的宝石(如果我找不到,可能会自己制作一个)

标签: ruby-on-rails resque


【解决方案1】:

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

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

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

注意,要执行此操作,您必须确保在测试前禁用Resque.inline 设置!

【讨论】:

    猜你喜欢
    • 2012-11-07
    • 2011-01-25
    • 2014-09-30
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多