0

我正在尝试使用 rufus-scheduler 每隔一分钟左右检查一次,看看是否有作业准备好放置在延迟作业队列中。

在 #{RAILS_ROOT}/config/initializers 中有一个初始化脚本,用于启动调度程序。不幸的是,rake jobs:work 也运行 rails 初始化过程,因此每个jobs:work 都会启动另一个。

我怎样才能防止这种情况?

在 XP pro sp3 上运行 ruby​​ 1.8.6.26、rails 2.3.5、dj 1.8.5、rufus-scheduler 2.0.6

4

1 回答 1

4

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

肯定有一种更随意的方式,但你可以这样做

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

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

于 2011-01-12T02:29:49.667 回答