我的工作ActiveJob的未初始化常量

时间:2015-06-16 21:18:20

标签: ruby-on-rails-4

我正在尝试学习ActiveJob,我创建了一个简单的工作来完成整个过程。我几乎坚持第1步。我在app / jobs中有一个my_job.rb文件。该文件包含以下代码:

class MyJob < ActiveJob::Base
  queue_as :default

  def perform(obj)
    puts obj
  end
end

如果我进入我的控制台并输入MyJob,它的行为就像课程不存在......我错过了什么?

:001&gt;我的工作 NameError:未初始化的常量MyJob

3 个答案:

答案 0 :(得分:10)

确保作业的文件名以&#34; _job.rb&#34;结尾。

例如:名为CheckDropboxAvailableSpaceJob的作业的文件名应为check_dropbox_available_space_job.rb,而不是check_dropbox_available_space.rb

如果文件名没有&#34; _job&#34; Rails就不会认出它是一项工作。最后。

答案 1 :(得分:0)

我认为这有点随机解决了...我可能重新启动了我的服务器或其他东西。据我所知,每次编辑作业时,都必须重新启动服务器才能获取更改。

答案 2 :(得分:0)

如果您正在使用它,我也必须重新启动sidekiq。