Sha256: c906d938a5528a867e36c56f49c9438cc56bcf20a1e510af4aa89d744665b4c6
Contents?: true
Size: 1001 Bytes
Versions: 63
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
63 entries across 63 versions & 1 rubygems