如何在Puma主进程关闭之前执行ruby代码? 现在,我优雅地将Puma从行动中关闭了:
Process.kill("INT", Process.ppid)
当所有工作人员都关闭时,我需要执行ruby代码。
at_exit do
puts 'bye...'
end
将在每个进程退出后执行,并且在退出所有工作程序后我需要回调。
答案 0 :(得分:1)
这只是一种小巧的方式......
向config.ru
(或设置)文件添加全局常量:
ROOT_PROCESS_ID = Process.pid
你可以做的事情比如:
at_exit do
if(Process.pid == ROOT_PROCESS_ID)
puts 'bye...'
end
end
这不是特定的Puma,因此即使您更换服务器(如果您曾切换过)也应该可以使用。