Class: Appsignal::Hooks::CelluloidHook
- Defined in:
- lib/appsignal/hooks/celluloid.rb
Instance Method Summary collapse
Methods inherited from Hook
#initialize, #installed?, register, #try_to_install
Constructor Details
This class inherits a constructor from Appsignal::Hooks::Hook
Instance Method Details
#dependencies_present? ⇒ Boolean
6 7 8 |
# File 'lib/appsignal/hooks/celluloid.rb', line 6 def dependencies_present? defined?(::Celluloid) end |
#install ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/appsignal/hooks/celluloid.rb', line 10 def install # Some versions of Celluloid have race conditions while exiting # that can result in a dead lock. We stop appsignal before shutting # down Celluloid so we're sure our thread does not aggravate this situation. # This way we also make sure any outstanding transactions get flushed. ::Celluloid.class_eval do class << self alias shutdown_without_appsignal shutdown def shutdown Appsignal.stop('celluloid') shutdown_without_appsignal end end end end |