質問

私のレールのアプリが初期化子でルーファス・スケジューラとプロセスをキックオフ。ここでは初期化子のコードの機能縮小版があります:

# config.logger isn't available here, so we have to grab it from the Rails object
logger = RAILS_DEFAULT_LOGGER

logger.warn(Time.now.to_s + ": Starting Rufus Scheduler")

# run every Wednesday at 10 AM 
cron_string = '0 10 * * 3'

scheduler = Rufus::Scheduler.start_new
scheduler.cron cron_string do
  logger.warn(Time.now.to_s + ": Starting Background Process")
  (do work here)
  logger.warn(Time.now.to_s + ": Finished Background Process")
end

logger.warn(Time.now.to_s + ": Rufus Scheduler set Background Process to run with the following cron string: [#{cron_string}]")

すべての環境では、コードはチャンピオンのように実行します。移入プロセスは、その事を行い、正常終了します。問題は、しかし、ログを使用することです。 RAILS_ENVを「生産」に設定されている場合は、cronのブロック内のメッセージがまったく記録しません。

私は旅客2.2.9とRails 2.3.5を使用しています。私はこれらの2つのうちの1つは、ログからのプロセスを妨げている把握します。誰もがそれがあると、それが生産にログインするために取得する方法を教えてもらえます?

役に立ちましたか?

解決

ます。http:// earthcode

OK、この記事のおかげで問題を発見しました。 COM /ブログ/ 2009/05 / rails_script_runner_logging_cron.htmlする

はロガーは、自動フラッシュ生産ではないでしょうが判明します。だから、私はちょうど追加

logger.flush 

プロセスの終了とBANGのすべてに働いています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top