2016-07-28 11 views
1

私はdelayed_jobs(バックグラウンドワーカー)を使用して受信メールを処理しようとしています。遅延ジョブにインスタンス変数を渡す

class EmailProcessor 

    def initialize(email) 
    @raw_html = email.raw_html 
    @subject = email.subject 
    end 

    def process 
    do something with @raw_html & @subject 
    end 
    handle_asynchronously :process, :priority => 20 

end 

問題は、私は遅れて仕事に(& @subject @raw_html)インスタンス変数を渡すことはできませんです。バックグラウンドタスクで取り出すモデルにデータを保存する遅延ジョブ要求がありますが、バックグラウンドワーカーに(レコードの保存を含めて)タスク全体を完了させることをお勧めします。

どのような考えですか?

答えて

1

使用delayあなたがバックグラウンドで実行したいメソッドにのparamsを渡す:これで問題が解決しない

class EmailProcessor 

    def self.process(email) 
    # do something with the email 
    end 
end 

# Then somewhere down the line: 

EmailProcessor.delay.process(email) 
+1

、私はまだ遅れて仕事に「メール」変数を渡そうとするでしょう – echan00

+0

試しましたか? –

関連する問題