Rails 3中的延迟作业:异常NameError - >未初始化的常数延迟::作业

时间:2012-01-09 18:38:20

标签: ruby-on-rails-3 delayed-job

我正在构建一个使用delayed_job在后台安排异步任务的Rails 3应用。

当我使用.delay方法或.handle_asynchronously对作业进行排队时,它可以正常工作,但是当我使用自定义作业时,它不起作用。

这就是我所拥有的:

在我的lib文件夹中,我在一个名为my_job.rb的文件中包含带有perform方法的Ruby类,其中包含:

class MyJob < Struct.new(:text)
  def perform
    puts text
  end
end

在我的控制器中我有这个:

Delayed::Job.enqueue MyJob.new('test')

当我调用控制器时,我收到以下错误:

Exception NameError -> uninitialized constant Delayed::Job

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

检查您是否正确安装了delayed_job; https://github.com/collectiveidea/delayed_job#installation(请注意,如果您使用ActiveRecord作为后端,则gem现在称为gem'delayed_job_active_record')

将说明从delayed_job 2.x升级到3.0:https://github.com/collectiveidea/delayed_job#upgrading-from-2x-to-300-on-active-record