0

如此处所述,Passenger 将分叉我的进程,我需要恢复我的后台线程。我这样做了,它通常可以工作,但有时我的进程在我的后台线程完成之前就被终止了。我在该后台线程上所做的只是将一堆数据排队,以便我可以更有效地以更大的块发送它。 我刚刚问了一个类似的问题,但我有了一个新想法:我想知道我是否可以注册一个类似于这个的回调:

PhusionPassenger.on_event(:starting_worker_process) do |forked|...

但不是在:starting_worker_process事件中,我想得到通知我的进程即将终止,以便我可以快速刷新缓冲区并退出。有这样的活动吗?

4

2 回答 2

1

内核提供了可用于此的#at_exit

at_exit do
  # Cleanup
end
于 2013-07-19T02:29:46.957 回答
0

从Passenger的源代码中,看起来有一个名为 的事件:stopping_worker_process。我还没有测试过这个。

于 2018-11-07T20:14:04.120 回答