Because spawned app processes exit using exit!, at_exit blocks aren't called. Here we ninja patch Kernel so that we can call at_exit blocks during app process shutdown.
# File lib/phusion_passenger/utils.rb, line 259 def passenger_at_exit(&block) @passenger_at_exit_blocks ||= [] @passenger_at_exit_blocks << block return block end
# File lib/phusion_passenger/utils.rb, line 252 def passenger_call_at_exit_blocks @passenger_at_exit_blocks ||= [] @passenger_at_exit_blocks.reverse_each do |block| block.call end end