【问题标题】:Uninitialized constant for my job ActiveJob我的工作 ActiveJob 的未初始化常量
【发布时间】:2015-06-16 21:18:19
【问题描述】:

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

class MyJob < ActiveJob::Base
  queue_as :default

  def perform(obj)
    puts obj
  end
end

如果我在控制台中输入 MyJob,就好像该类不存在......我错过了什么?

:001 > 我的工作 NameError: 未初始化的常量 MyJob

【问题讨论】:

    标签: ruby-on-rails-4


    【解决方案1】:

    确保作业的文件名以“_job.rb”结尾。

    例如:名为CheckDropboxAvailableSpaceJob 的作业的文件名应为check_dropbox_available_space<strong>_job</strong>.rb,而不是check_dropbox_available_space.rb

    如果文件名末尾没有“_job”,Rails 不会将其识别为作业。

    【讨论】:

    • 你节省了我的时间,谢谢
    【解决方案2】:

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

    【讨论】:

    • 有同样的错误,什么都没做,重启服务器就解决了。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-22
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      相关资源
      最近更新 更多