Sha256: 104f2eaf5dc668b7bc6d8dd963455b9d9412907d542db1d9d414408ac2f51333
Contents?: true
Size: 1020 Bytes
Versions: 38
Compression:
Stored size: 1020 Bytes
Contents
module Appsignal class Hooks # @api private 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
38 entries across 38 versions & 1 rubygems