我的滑轨应用程序序幕与一个初始化鲁弗斯调度的方法。这里的初始化代码的精简版本:

# 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。我想这两个事情之一是防止从过程记录。谁能告诉我这是怎么得到它登录在生产?

有帮助吗?

解决方案

OK,发现问题,感谢这篇文章:的http:// earthcode。 COM /博客/ 2009/05 / rails_script_runner_logging_cron.html

原来记录器将不自动冲洗生产。所以,我刚添加

logger.flush 

到处理和BANG一切的结束工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top