Techioz Blog

Cron ジョブ バンドラー エラー

概要

always gem を使用してコントローラー メソッドを実行する cron ジョブを作成しようとしていますが、問題が発生します。得ています

cron.log ファイルにあります。

スケジュール.rb

every 1.minutes do
  runner "Reset.reset"
end

リセット.rb

class Reset < ActiveRecord::Base      
  def self.reset
    logger.debug("This is the cron job")         
  end    
end

また、everytime –update-crontab を実行して cron ジョブを更新しました。

ロガーメッセージがログに表示されないのはなぜですか?

ご協力ありがとうございました。

crontab -l の出力

解決策

ドキュメントには、ランナーの場合、コマンドは cd :path && bin/railsrunner -e :environment ‘:task’ :output のようになると記載されています。しかし、crontab では次のようになります: …bundle exec bin/rails runner -edevelopment…

crontab -e を実行して、bundle exec を手動で削除するか、ドキュメントにあるように、schedule.rb ファイルで job_type :runner を指定します。私にとって、これで問題は解決しました。

job_type :runner,  "cd :path && bin/rails runner -e :environment ':task' :output"

every 1.minutes do
  runner "Reset.reset"
end