5

私はrubyデーモンgemを使用しています。ストップアクションにいくつかのステップを追加するにはどうすればよいですか?stopが呼び出されたことを検出し、それにコードを追加できることを期待していました。誰かが私がこれを達成する方法を知っていますか?

4

3 に答える 3

6

デーモンの gem コードを見ると、この目的のための明らかな拡張ポイントがあるようには見えません。ただし、「停止」が発生したときにデーモンが送信する KILL/TERM シグナルを (デーモン化されたプロセスで) トラップできるのだろうか...?

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

または、 at_exit フックをインストールすることもできます:-

at_exit do
  # execute your extra code here
end
于 2009-02-12T22:59:36.400 に答える
4

Rapleafのブログに、あなたが探している Daemons gem の拡張機能に関するかなり良い記事がありました。

于 2009-02-25T21:24:03.220 に答える
2

デーモンのドキュメントを読んだ後、 #run メソッド:stop_procにオプションがあることがわかりました

:stop_proc デーモン化されたプロセスが停止要求を受け取ったときに呼び出される proc (:load および :proc モードでのみ機能します)

したがって、基本的に#runまたは#run_procメソッドでオプションとして渡すことができます

元の回答の ruby​​forge へのリンク

于 2012-10-31T08:53:44.433 に答える