アプリケーションで繰り返し問題が発生します。基本的に、サーバーを最初に起動したときに実行して、スケジュール、データベース内の特定の列、ファイルの存在など、特定のものが定義されているかどうかを確認し、それに応じて動作する特定のコードがあります。
ただし、Rake タスクを開始するとき (または「生成」を実行するときなど) にこのコードを実行することは絶対にしたくありません。たとえば、Rake タスクがフィールドを定義するための移行かもしれません. 別の例として, Resque の動的スケジュールを持っていますが、Resque ワーカーを開始するときにそれをロードしたくありません. などなど.
そして、Rake タスクで環境をロードする必要があります。
アプリケーションがどのように読み込まれたかを判断する方法はありますか? 「railsサーバー」、Apache/Passenger、コンソールなどを介してロードされたときにコードを実行したいのですが、それ以外のときは実行したくありません。
そうでない場合、上記の方法でのみ実行されるように、このコードをどこで、またはどのように定義できますか?