2016-11-11 14 views
0

を生成しない、クラスのメソッドを呼び出している私は、コンソールでこのメソッドを呼び出します。ここでは本当にそれはレコードで呼ばれるべきときResqueは、このように何のメソッドエラー

pry(main)> Resque.enqueue(GameMetrics, 142) 
=> true 

がResque前面に誤りであります上記を実行した後、ゲームメトリックキューの失敗したジョブ]タブで末端:

enter image description here

ここでは私が(ジョブフォルダ内)メソッドを実行します:

class GameMetrics 
    @queue = :game_metrics 

    def self.perform(game_id) 
    game = Game.find(game_id) 
    if game.data_recorded? == false && game.number == 1 && game.user.is_admin? == false 
     game.answered_game_questions.includes(:question).each do |game_question| 
     company_question = CompanyQuestion.find_or_create_by(company: game.company, question: game_question.question) 
     company_question.increment(:freq_100_credit_gained) if game_question.change_in_earnings == 100 
     company_question.increment(:freq_over_49_lost_of_total_poss_loss) if game_question.percentage_points_lost > 49 
     company_question.increment(:freq_over_66_lost_of_total_poss_loss) if game_question.percentage_points_lost > 66 
     company_question.increment(:freq_answered) 
     company_question.save 
     end 
    end 
    game.update(data_recorded?: true) 
    end 
end 

実際にID 142のゲームがあるので、ここで問題が起こる可能性はありますか?ありがとうございました!! 私は単にコードを作業/新しい環境をロードするために私

rake QUEUE=* environment resque:work 

タスクを再起動するために必要なことを考え出し叩いヘッドの多くの時間後にレール4.2と1.22.0

+0

'data_recorded? 'はGameのインスタンスメソッドですか? –

+0

はい、間違いを理解して、下の回答になります! – strohy1210

答えて

0

resqueを使用しています。

私はローカルのRedisサーバを再起動することを考えていましたが、レーキタスクは忘れていました。

TL; DRを使用すると、コードを変更する場合、すべてのあなたのたわごとを再起動し、たわごとはこれが誰かを助け

希望を動作しない理由を理解していません!

関連する問題