在Resque调度程序中安排动态作业

9

我想尝试使用Rails 3和Resque Scheduler来测试未来的作业调度:

以下是我使用的代码,但我得到了NoMethodError set_schedule的错误:

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

我尝试使用一个简单的enqueue Resque.enqueue(Notify, params[:message]),这个方法可以正常工作。

更新:

以下是我遇到的错误:

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

你能发布一下你所遇到的确切错误信息吗?你是需要Resque调度器还是已经将其安装为gem包了? - corroded
错误:未定义方法`set_schedule',Resque客户端连接到redis://bass.redistogo.com:9064/0:模块 - ed1t
这就是错误?只有一行? - corroded
是的,这就是我得到的错误。以下是额外的信息:NotifyController#sendmessage中的NoMethodErrorundefined method `set_schedule' for Resque Client connected to redis://bass.redistogo.com:9064/0:Module - ed1t
你能否在这里发布你的控制器代码? - corroded
3个回答

1

尝试添加

require 'resque_scheduler'

class NotifyController < ActionController::Base 之前


NotifyController#sendMessage 中的 LoadError - 找不到文件加载 -- resque_scheduler - ed1t

1

我遇到了同样的问题。看起来这个网站上的v1.9.9 gem文件resque_scheduler.rb和从rubygems.org下载的不同。

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

Resque::Scheduler.dynamic = true

我有同样的问题。我使用 2.0.0.d 版本的 gem,它接受 Rescue::Scheduler.dynamic = true(在 2.0 版本之前会有警告),但仍提示 set_schedule 未定义。 - Khash

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接