2017-10-13 3 views
0

私は毎日自動タスクを実行できるように、いつでも "gem"を実装しようとしています。プロダクションで作業していないときはいつでもCronジョブ

これは私のschedule.rbファイルです:

env :PATH, ENV['PATH'] 
set :output, "log/cron_log.log" 

every :day, at: '10:10 am' do 
    runner "Task.new.get_drivers" 
end 

every :day, at: '10:15 am' do 
    runner "Task.new.get_deliveries" 
end 

every :day, at: '10:20 am' do 
    runner "Task.new.update_deliveries" 
end 

は生産では、私は、このコマンドラインを実行した "いつでも--update-のcrontab" ドキュメントで説明したように。

これまでのところ、すべてうまくいくようです。

# Begin Whenever generated tasks for: /home/total/site/config/schedule.rb 
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/total/.local/bin:/home/total/bin 

10 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.get_drivers'\'' >> log/cron_log.log 2>&1' 

15 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.get_deliveries'\'' >> log/cron_log.log 2>&1' 

20 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.update_deliveries'\'' >> log/cron_log.log 2>&1' 

# End Whenever generated tasks for: /home/total/site/config/schedule.rb 

しかし、最終的には、何も(私は私のコンソールでのcronジョブ自分自身を実行する場合を除いて)起こりません:私は、コマンドラインを「いつでも」を実行すると、私はこの結果を持っています。私のログには何も表示されません。何が問題なのか分かりましたか?

ありがとうございました。 敬具、

ヴィルジニー

+0

手動で実行すると出力は何ですか? (例えば、 'cd/home/total/site && bundle exec bin/rails runner -e production') – mabe02

+0

私のデータは私のdbに正しく取り込まれ、保存されます。しかし、私はこのプロセスについてのログを持っていません。 – Wivi0

+0

問題をデバッグしようとするだけで何かを記録するようにスケジュールできますか?私は、 'いつでも'を使用しています。これらの理由のためにこれが実行されない可能性がありますhttps://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working – mabe02

答えて

0

が展開した後crontab -lを試してみてください。これはあなたのcrontabを開き、すべてのタスクを一覧表示します。 whenever --update-crontabを実行し、crontab -lにもう一度チェックしてください。 whenever --update-crontabが実際にあなたのcrontabを更新していない可能性があります。

はまた、あなたのCapfileがrequire 'whenever/capistrano'含まれている場合は、経由カピストラーノデプロイする場合も、チェック1.day

:dayを変更してみてください。

関連する問題