これは私のスケジュール ファイルのコードです。動作するかどうかをテストするためだけに 1 分を使用しています。
every 1.minutes do
runner "User.update_all('daily_sms_count' = 0 )"
end
ターミナル i セットアップから
whenever --set environment=development --update-crontab 1mintesting
問題は何ですか?
これは私のスケジュール ファイルのコードです。動作するかどうかをテストするためだけに 1 分を使用しています。
every 1.minutes do
runner "User.update_all('daily_sms_count' = 0 )"
end
ターミナル i セットアップから
whenever --set environment=development --update-crontab 1mintesting
問題は何ですか?
RVMを使用していますか?その場合、Whenever は次のような crontab エントリを生成します。
* * * * * /bin/bash -l -c
'cd /Users/myuser/Documents/Projects/foo && script/rails runner -e
development '\''User.update_all("daily_sms_count" = 0 )'\'''
これは、新しい bash シェルをスピンオフするときに、必ずしもプロジェクトのバージョンの Ruby と関連する gemset を使用するとは限らないことを意味します。これを機能させるには、適切な.rvmrc
ファイルをプロジェクトのルート フォルダーに追加する必要があります。このようにしてcd /Users/myuser/Documents/Projects/foo
、生成された crontab エントリの一部により、適切な RVM 設定が使用されることが保証されます。.rvmrc
ファイルを追加するときはcd..
、プロジェクトに戻って、RVM がプロジェクトの.rvmrc
.
RVM を使用していない場合は、 を実行crontab -l
して、生成されたエントリをコピーし、ターミナルから実行して、エラーが発生しないかどうかを確認します。
Mac を使用している場合、cron
はログ メッセージをメールボックスに送信し、mail
コマンドを使用してそれらを表示できます。
これらのトリックがうまくいかない場合は、作業環境 (OS、RVM など) について詳しく教えてください。