0

我正在为我的应用程序中的某些进程使用delayed_job。它没有任何效果并即时运行代码。以下是代码。

Module1::some_definition(param).delay(priority=>3, :run_at=>2.minutes.from_now)

我做错了吗?

更新: 这是 dimitko 建议我所做的。但我仍然得到错误。

class User < ActiveRecord::Base
  def do_something
      #Google is my module and the do_some_process is definition.
      Google.delay.do_some_process
  end
end
4

2 回答 2

0

的想法.delay是将它与您要调用的真实作业方法链接起来。

class User < ActiveRecord::Base
  def do_something
  # ... do something long which you want to be in the background...
  end
end

延迟此代码的“正确”方法delayed_job是:

User.current.delay(priority=>3, :run_at=>2.minutes.from_now).do_something

正如您的示例代码所建议的那样,我不认为delayed_job打算将该方法注入模块中。.delay

于 2012-09-01T15:36:04.750 回答
-1

您也可以尝试设置 Cron 作业。我通常创建一个 rake 任务,然后使用 Cron 作业运行它。

谢谢

于 2012-09-01T15:44:29.403 回答