Puma 主进程退出回调
Puma main process on exit callback
如何在 Puma 主进程关闭之前执行 ruby 代码?
现在我正在优雅地关闭 Puma 的动作:
Process.kill("INT", Process.ppid)
当所有工作人员都停机时,我需要执行 ruby 代码。
at_exit do
puts 'bye...'
end
会在每个进程退出后执行,我需要在所有worker退出后回调。
只是一个小技巧...
将全局常量添加到您的 config.ru
(或设置)文件:
ROOT_PROCESS_ID = Process.pid
你可以这样做:
at_exit do
if(Process.pid == ROOT_PROCESS_ID)
puts 'bye...'
end
end
这不是 Puma 特有的,因此即使您更换服务器(如果您曾经切换过),它也应该可以正常工作。
如何在 Puma 主进程关闭之前执行 ruby 代码? 现在我正在优雅地关闭 Puma 的动作:
Process.kill("INT", Process.ppid)
当所有工作人员都停机时,我需要执行 ruby 代码。
at_exit do
puts 'bye...'
end
会在每个进程退出后执行,我需要在所有worker退出后回调。
只是一个小技巧...
将全局常量添加到您的 config.ru
(或设置)文件:
ROOT_PROCESS_ID = Process.pid
你可以这样做:
at_exit do
if(Process.pid == ROOT_PROCESS_ID)
puts 'bye...'
end
end
这不是 Puma 特有的,因此即使您更换服务器(如果您曾经切换过),它也应该可以正常工作。