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