0

私はdelayed_jobsを使おうとしています。rake jobs:work タスクを使用すると、ローカルで完全に機能します。ただし、デーモンとして使用しようとすると、タスクが失敗します。失敗したタスクの削除を停止しました。「 RAILS_ENV=production bin/delayed_jobs start 」でデーモンを開始しています。ステータスを実行すると、ワーカーがアクティブであることが示されます。

「Job failed to load: undefined class/module 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 で確認できます。

ここに投稿しようとしましたが、正しくラップされません。

4

0 に答える 0