Sha256: a7383e8c1394052c2c1a5a4c670a460f5fd26231e86d91d4f24d3e50c122ee79
Contents?: true
Size: 1001 Bytes
Versions: 5
Compression:
Stored size: 1001 Bytes
Contents
module Appsignal class Hooks class UnicornHook < Appsignal::Hooks::Hook register :unicorn def dependencies_present? defined?(::Unicorn::HttpServer) && defined?(::Unicorn::Worker) end def install # Make sure that appsignal is started and the last transaction # in a worker gets flushed. # # We'd love to be able to hook this into Unicorn in a less # intrusive way, but this is the best we can do given the # options we have. ::Unicorn::HttpServer.class_eval do alias worker_loop_without_appsignal worker_loop def worker_loop(worker) Appsignal.forked worker_loop_without_appsignal(worker) end end ::Unicorn::Worker.class_eval do alias close_without_appsignal close def close Appsignal.stop("unicorn") close_without_appsignal end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems