Puma主要进程退出回调

时间:2018-01-26 13:03:18

标签: ruby puma

如何在Puma主进程关闭之前执行ruby代码? 现在,我优雅地将Puma从行动中关闭了:

Process.kill("INT", Process.ppid)

当所有工作人员都关闭时,我需要执行ruby代码。

at_exit do
  puts 'bye...'
end

将在每个进程退出后执行,并且在退出所有工作程序后我需要回调。

1 个答案:

答案 0 :(得分:1)

这只是一种小巧的方式......

config.ru(或设置)文件添加全局常量:

ROOT_PROCESS_ID = Process.pid

你可以做的事情比如:

at_exit do
  if(Process.pid == ROOT_PROCESS_ID)
    puts 'bye...'
  end
end

这不是特定的Puma,因此即使您更换服务器(如果您曾切换过)也应该可以使用。