使用每个delayed_job rake作业获得额外的rufus-scheduler线程:工作

时间:2011-01-11 19:13:25

标签: ruby-on-rails rufus-scheduler

我试图使用rufus-scheduler检查每分钟左右,看看是否 有一些工作准备放在delayed_job队列中。

在#{RAILS_ROOT} / config / initializers中有一个初始化脚本 启动调度程序。不幸的是,佣金工作:工作也运行 rails初始化进程,以便为每个进程启动另一个 工作:工作开始。

我该如何防止这种情况?

运行ruby 1.8.6.26,rails 2.3.5,dj 1.8.5,rufus-scheduler 2.0.6 on XP专业版sp3

1 个答案:

答案 0 :(得分:4)

在初始化程序中,如果通过Rake调用rails初始化过程,找到一种不运行计划的方法。

肯定会有更多的方法,但你可以做到

  unless defined?(Rake)
    # do the scheduling...
  end

如果定义了常量Rake,则不会调用块'执行调度'(对于定义的Rake任务)。