【问题标题】:Detect stop with Ruby Daemons gem使用 Ruby Daemons gem 检测停止
【发布时间】:2010-10-07 06:31:21
【问题描述】:

我正在使用 ruby​​ daemon gem。想知道如何在停止操作中添加一些额外的步骤?希望我能检测到停止被调用,并添加一些额外的代码。有谁知道我怎么能做到这一点?

【问题讨论】:

    标签: ruby daemon


    【解决方案1】:

    阅读 Daemons 文档后,我发现 #run method 中有一个 :stop_proc 选项

    :stop_proc 守护进程时将调用的 proc 收到停止请求(仅适用于 :load 和 :proc 模式)

    所以基本上你可以通过#run#run_proc 方法将其作为选项传递

    Original answer's link to rubyforge

    【讨论】:

      【解决方案2】:

      Rapleaf 向 a pretty good article on their blog 提出了有关 Daemons gem 的扩展,这可能是您正在寻找的。​​p>

      【讨论】:

        【解决方案3】:

        查看守护程序 gem 代码,它看起来并没有为此目的提供明显的扩展点。但是,我想知道(在守护进程中)是否可以捕获守护进程在“停止”发生时发送的 KILL/TERM 信号......?

        trap("TERM") do
          # execute your extra code here
        end
        

        或者你可以安装一个 at_exit 钩子:-

        at_exit do
          # execute your extra code here
        end
        

        【讨论】:

          猜你喜欢
          • 2013-04-22
          • 2020-12-16
          • 1970-01-01
          • 2012-06-24
          • 1970-01-01
          • 2016-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多