我有一组在生产服务器上运行的 rake 任务,它与主线程分离,并在后台发生
这是执行它的代码
def vehicle
@estate = Estate.find(@estate_id)
@date_string = @login_month.strftime("%m%Y")
system("rake udpms:process_only_vehicle[#{@date_string},#{@estate_id}] &")
redirect_to :controller => "reports/error_messages", :message => "Processing will happen in the background and reports will be refreshed after two minutes", :target => "_blank"
end
当此代码通过 url 路由执行时,它运行 rake 任务,我可以查看是否检查生产机器上的活动进程,但它在大约 10 秒后突然结束。
ps axl | grep rake
这是它显示的
ruby /usr/local/rvm/gems/ruby-1.8.7-p352/bin/rake udpms:process_only_vehicle[082012,5]
如果我在终端的 app 文件夹中执行相同的 rake 任务,它将运行没有任何错误。这在开发机器上运行没有任何问题。(OSX)。服务器是薄荷。两者的 Rake 版本相同。gem 只有一个版本。
因为它是生产服务器,所以没有日志(除了 produciton.log,它没有帮助)。任何有关我如何调试此问题的帮助将不胜感激。