我正在尝试使用delayed_jobs。当使用 rake jobs:work 任务时,它可以在本地完美运行。但是,当我尝试将其用作守护程序时,任务会失败。我已经阻止它删除失败的任务。我正在使用“ RAILS_ENV=production bin/delayed_jobs start ”启动守护进程。当我做状态时,它显示工作人员处于活动状态。
他们似乎因为这个错误“无法加载作业:未定义的类/模块 ProductAquisition”而失败。
这是我正在尝试使用的模块的一个片段(lib/product_aquisition.rb)。
module ProductAquisition
require 'net/http'
def ProductAquisition.get_updates
.....
end
end
这是来自我试图用来触发它的 rakefile
require 'debugger'
require 'date'
require 'thread'
# require 'active_support'
require "#{Rails.root}/lib/product_aquisition.rb"
require "#{Rails.root}/app/helpers/soap_helper"
include SoapHelper
include ProductAquisition
task :get_updates => :environment do
ProductAquisition.delay.get_updates
end
我不明白它在作为守护进程运行时如何无法加载和使用模块“ProductAquisition”。任何人都可以对此有所了解吗?
编辑:完整的错误信息
完整的错误输出可以在这里看到:https ://gist.github.com/smithmr8/70f1f736fe1c679ceff1/raw/9586759c868adce3797ad9e7697789ef417821a6/gistfile1.rb
我尝试将其张贴在这里,但它不会正确包装。