在resque调度程序中调度动态作业

时间:2011-03-26 14:04:44

标签: ruby ruby-on-rails-3 scheduled-tasks scheduling resque

我正在尝试使用rails 3和resque scheduler测试调度作业:

以下是我正在使用的代码,但我得到NoM​​ethodError set_schedule。

 Resque.set_schedule("1", {
  :cron => "30 6 * * 1",
  :class => "Notify",
  :queue => "username",
  :message => 'notification message'      
})

我尝试使用简单的入队Resque.enqueue(Notify, params[:message]),这很好。

更新:

以下是我得到的错误:

undefined method `set_schedule' for Resque Client connected to redis://bass.redistogo.com:9064/0:Module

3 个答案:

答案 0 :(得分:1)

resque中的调度(现在)在一个单独的gem中。您可以在以下网址找到所需的所有信息:

https://github.com/bvandenbos/resque-scheduler/

答案 1 :(得分:1)

尝试添加

require 'resque_scheduler'

之前class NotifyController < ActionController::Base

答案 2 :(得分:1)

我遇到了同样的问题。看起来这个站点上的v1.9.9 gem文件resque_scheduler.rb与从rubygems.org下载的文件有区别。

您需要获得2.0.0预发布版,并使用以下命令启用动态调度:

Resque::Scheduler.dynamic = true