我的Rails 3.2.8应用程序中有一个Rester的Reporter工作者。我经常为用户添加新报告,或修复现有报告中的错误。
报告部署为Ruby模块,其方法由Resque记者工作者调用。
每次部署新代码时,我都必须重新启动Resque。在此期间,通常会有一个或多个报告被杀死,其状态为“正在运行”。我想知道的是,有没有办法让Resque重新加载用于运行报告的ruby模块?
答案 0 :(得分:1)
您可以使用kill -s QUIT
停止resque工作人员,而不是重新加载。这将导致工人在关闭之前完成报告。
有关使用resque信号的更多信息,请访问https://github.com/defunkt/resque#signals。