私は毎日自動タスクを実行できるように、いつでも "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ジョブ自分自身を実行する場合を除いて)起こりません:私は、コマンドラインを「いつでも」を実行すると、私はこの結果を持っています。私のログには何も表示されません。何が問題なのか分かりましたか?
ありがとうございました。 敬具、
ヴィルジニー
手動で実行すると出力は何ですか? (例えば、 'cd/home/total/site && bundle exec bin/rails runner -e production') – mabe02
私のデータは私のdbに正しく取り込まれ、保存されます。しかし、私はこのプロセスについてのログを持っていません。 – Wivi0
問題をデバッグしようとするだけで何かを記録するようにスケジュールできますか?私は、 'いつでも'を使用しています。これらの理由のためにこれが実行されない可能性がありますhttps://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working – mabe02