Module: Julewire::Rails::LifecycleHooks

Defined in:
lib/julewire/rails/lifecycle_hooks.rb

Class Method Summary collapse

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