作業中のアプリケーションをresqueを使用して着信要求を処理するように変換していました。ジョブは適切に再作成されます。この問題は、作業者がタスクをつかんで実行を開始するときに開始されます。resqueがレール環境を適切にロードしていません
フィールドの1つを参照しようとしたときに、私のアプリケーションの中に私のモデルでエラーが発生しました。 classキーワード< ActiveRecord :: Base 呼び出しは 'Keyword.first.rule'でした。これは「プライベートメソッドの呼び出しを試みます」を返します。私は他のランダム誤差が前に正常に動作するために使用されるコードにアップトリミング開始し、この問題を渡しました後に、それは私のアプリケーション
def self.perform(phone_number,message,short_code)
k = Keyword.first
k.rule
Parser.new.parse_request(phone_number,message,short_code)
end
と呼ばれる前に、私は労働者に次のコードを追加したときに問題が去っていきました
。 ex casecmpは有効なメソッドではありません。 これは私のコードでは問題ではないと確信しています。なぜなら、レールコンソールから同じメソッドを呼び出すと、正常に動作するからです。
これは私のセットアップ ある - ルビー1.8.7(2010-01-10パッチレベル249)[x86_64の-linuxの] - 宝石1.3.5 - レール2.3.8 - resque 1.17.1 - Ubuntuの10.04エラーから0.3 LTS
ワーカー
class ProcessMo
@queue = :incoming_messages_queue
def self.perform(phone_number,message,short_code)
Parser.new.parse_request(phone_number,message,short_code)
end
end
resque.rake
require "resque/tasks"
task "resque:setup" => :environment