Module: Julewire::Rails::LifecycleHooks
- Defined in:
- lib/julewire/rails/lifecycle_hooks.rb
Class Method Summary collapse
- .after_fork! ⇒ Object
- .drain!(timeout:) ⇒ Object
- .install!(configuration, registrar: Kernel, fork_tracker: active_support_fork_tracker) ⇒ Object
-
.reset_for_test! ⇒ Object
Private testing seam for isolating process lifecycle hooks.
Class Method Details
.after_fork! ⇒ Object
27 28 29 30 |
# File 'lib/julewire/rails/lifecycle_hooks.rb', line 27 def after_fork! RequestSummaryTimeoutScheduler.after_fork! RequestErrorOwnership.clear end |
.drain!(timeout:) ⇒ Object
21 22 23 24 25 |
# File 'lib/julewire/rails/lifecycle_hooks.rb', line 21 def drain!(timeout:) Julewire.flush(timeout: timeout) ensure Julewire.close(timeout: timeout) end |
.install!(configuration, registrar: Kernel, fork_tracker: active_support_fork_tracker) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/julewire/rails/lifecycle_hooks.rb', line 11 def install!(configuration, registrar: Kernel, fork_tracker: active_support_fork_tracker) return unless configuration.lifecycle_hooks? @mutex.synchronize do install_at_exit!(registrar, configuration) register_after_fork! install_fork_tracker!(fork_tracker) end end |
.reset_for_test! ⇒ Object
Private testing seam for isolating process lifecycle hooks.
33 34 35 36 37 38 |
# File 'lib/julewire/rails/lifecycle_hooks.rb', line 33 def reset_for_test! @mutex.synchronize do @at_exit_installed = false @fork_tracker_installed = false end end |