1

我有一个 BackgrounDRb 工作人员设置为每 15 分钟运行一次它的“同步”方法。然后,说,我想运行一次刚才的方法。我试图将其包装在 rake 任务中,如下所示:

namespace :mytasks do
  task :sync do |t|
    worker = MiddleMan.worker(:my_worker)
    worker.async_sync
  end
end

但这不起作用。它使用各种未定义的常量等等来解决问题。我没有尝试要求杂项。gems 生成了一个可运行的 rake 任务。:(

所以,问题是如何从 rake 任务中触发 BackgrounDRb 任务?

4

1 回答 1

1

我不确定运行 BackroundDRb-tasks 的细节,但是如果你想在你的 rake 任务中包含 rails 环境,你必须明确它。我很确定缺少这一点是导致您的 rake 任务失败的原因。

namespace :foo do
  task :bar => :environment do |t|
    # ..
  end
end
于 2009-04-20T11:19:30.130 回答