私はrakeタスクを持っています。これは、gemを使用するたびに毎時起動されます。ステージングサーバーで無効にしたいのですが、if
ステートメントを使用してこの問題を解決する明白な方法は何とか動作しません。ステージングサーバー上でrakeタスクを無効にする
namespace :checks do
task test_visible_response: :environment do
if Rails.env.production?
...
end
end
end
と私はこのようにそれを実行します:私のコードがある
every "0 7-21/1 * * *" do
rake 'checks:test_visible_response'
end
PS:私も私のcron構文に問題があるようです。私はタスクを7時から21時59分まで1時間ごとに実行したいが、それは24時間365日働いている。
「Rails.env.production?」のチェックがうまくいかなかったことは驚きです(これは私の提案だったはずです)。それは何時も「何時でも」生産環境下でレーキタスクを何とか実行することができることを示唆しているので、恐ろしいことです。 rakeタスクで 'Rails.env'と' ENV ['RAILS_ENV'] 'を印刷して、あなたが得たものを見ることができますか? – gmcnaughton
問題が見つかりました。環境は何らかの理由でハードコードされていました。だから私の質問の最初の部分が答えられます。今私はcronが何が問題なのかを理解しようとしています。 – enjaku
それはハードコードされていませんでした、それはちょうど設定されている可能性が高いです:)あなたのcronのものの私の編集を参照してください –