2016-09-01 1 views
0

私はいつでも宝石を使用しています。ランナーに仕事を依頼しています。私は同じ仕事のランナーを3タイプで呼んだ。私はここで働いているかどうかはわかりません。 ファイル名をcronジョブ(レール)に入れる方法は?

は、私はまた、これらは一度だけ走った後、 crontab -l

コマンドwhenever --update-crontab project_name

set :output, 'log/whenever.log' every 1.days , :at => '03:51 pm' do runner "SomeJob.perform_later", filename: '/app/jobs/some_job.rb' end every 1.days , :at => '03:51 pm' do runner "SomeJob.perform_later", filename: './app/jobs/some_job.rb' end every 1.days , :at => '03:51 pm' do runner "SomeJob.perform_later" end 

Schedule.rb

を使用しました。私はここでデバッグするのが難しいです。

どちらが正しいか誰にでも通知できますか?また、このシナリオでデバッグする正しい方法は何ですか?私は、このコマンドを実行した開発環境で実行するには

51,51,51 16 * * * /bin/bash -l -c 'cd /home/rahul/orthoweb && bin/rails runner -e production '\''InvestigationStopJob.perform_later'\'' >> log/whenever.log 2>&1 

- - crontab -lを実行

は私にこれを与え

whenever --update-crontab --set environment='development' 

しかし、これは私にこのメッセージを表示します -

## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. 

答えて

1

開発モードでジョブを実行する場合、いくつかの問題があります。 ジョブとスケジューラを実行する前に、すべてのタブを閉じる必要があります。

スケジュールファイルの設定を変更する必要はありません。 が正しく実行されないファイル名ジョブを指定せずに開発、使用、この

whenever --update-crontab --set environment='development' 

で実行します。次の行は正しく動作します。

every 1.days , :at => '03:51 pm' do runner "SomeJob.perform_later", filename: '/app/jobs/some_job.rb' end

0

私は思います結果として得られるcrontabには上書きされたため、これらのタスクのうちの1つだけが含まれていること十。

結果として得られるcrontabを確認するには、wheneverと入力してください。私は1つだけの入り口があると思う。

+0

私はこれらのタスクも1つずつ実行しましたが、成功しませんでした。私は 'それがうまくいかなかったときに'走った。開発でcrontabを実行するために何か他のものを実行する必要がありますか? @maicher – vidal

+0

あなたの 'log/anything.log'ファイルにログがありますか?もしそうでなければ、CRONは動作していないかもしれません。さらに、スケジュールであなたのenvを設定する必要があります:http://stackoverflow.com/a/5879008/2933305 – maicher

+1

responeありがとう。問題を解決しました。それは愚かなものだった – vidal

関連する問題