对于我的RubyOnRails-App,我必须在Capistrano部署结束时启动后台任务。对于这一点,我想在deploy.rb如下:用Capistrano开始后台任务
run "nohup #{current_path}/script/runner -e production 'Scheduler.start' &", :pty => true
有时候这工作,但大部分没有启动该进程的时间(=不PS -aux列出)。并没有错误消息。没有nohup.out,不在主目录中,也不在rails应用程序目录中。
我试着在scheduler.rb中使用trap('SIGHUP','IGNORE')而不是nohup,但结果是一样的。
获得它的唯一方法是删除“:pty => true”,然后在“cap deploy”结束时执行手动Ctrl-C。但我不喜欢这...
是否有任何其他机会来调用此Scheduler.start?或者获得更多的错误信息?
我使用Rails 2.3.2,2.5.8 Capistrano的,Ubuntu的哈代的服务器上
任何提示?仍然在重启后台作业...... – 2009-07-10 18:09:51