【发布时间】:2010-10-07 06:31:21
【问题描述】:
我正在使用 ruby daemon gem。想知道如何在停止操作中添加一些额外的步骤?希望我能检测到停止被调用,并添加一些额外的代码。有谁知道我怎么能做到这一点?
【问题讨论】:
我正在使用 ruby daemon gem。想知道如何在停止操作中添加一些额外的步骤?希望我能检测到停止被调用,并添加一些额外的代码。有谁知道我怎么能做到这一点?
【问题讨论】:
阅读 Daemons 文档后,我发现 #run method 中有一个 :stop_proc 选项
:stop_proc 守护进程时将调用的 proc 收到停止请求(仅适用于 :load 和 :proc 模式)
【讨论】:
Rapleaf 向 a pretty good article on their blog 提出了有关 Daemons gem 的扩展,这可能是您正在寻找的。p>
【讨论】:
查看守护程序 gem 代码,它看起来并没有为此目的提供明显的扩展点。但是,我想知道(在守护进程中)是否可以捕获守护进程在“停止”发生时发送的 KILL/TERM 信号......?
trap("TERM") do
# execute your extra code here
end
或者你可以安装一个 at_exit 钩子:-
at_exit do
# execute your extra code here
end
【讨论】: