Module: Sidekiq::ProcessManager
- Defined in:
- lib/sidekiq/process_manager.rb,
lib/sidekiq/process_manager/manager.rb,
lib/sidekiq/process_manager/version.rb
Defined Under Namespace
Classes: Manager
Constant Summary collapse
- VERSION =
File.read(File.("../../../VERSION", __dir__)).strip
Class Method Summary collapse
- .after_fork(&block) ⇒ Object
- .before_fork(&block) ⇒ Object
-
.parse_max_memory(value) ⇒ Float?
Parse a max memory value into a number of bytes.
- .run_after_fork_hooks ⇒ Object
- .run_before_fork_hooks ⇒ Object
Class Method Details
.after_fork(&block) ⇒ Object
14 15 16 17 |
# File 'lib/sidekiq/process_manager.rb', line 14 def after_fork(&block) @after_fork ||= [] @after_fork << block end |
.before_fork(&block) ⇒ Object
9 10 11 12 |
# File 'lib/sidekiq/process_manager.rb', line 9 def before_fork(&block) @before_fork ||= [] @before_fork << block end |
.parse_max_memory(value) ⇒ Float?
Parse a max memory value into a number of bytes. The value can be a plain number of bytes or a number suffixed with "m" for megabytes or "g" for gigabytes (case insensitive).
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/sidekiq/process_manager.rb', line 44 def parse_max_memory(value) value = value.to_s.strip return nil if value.empty? matched = value.match(/\A(\d+(?:\.\d+)?)([mg]?)\z/i) raise ArgumentError.new("Invalid max memory value: #{value.inspect}") unless matched bytes = matched[1].to_f case matched[2].downcase when "m" bytes *= 1024**2 when "g" bytes *= 1024**3 end bytes end |
.run_after_fork_hooks ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/sidekiq/process_manager.rb', line 28 def run_after_fork_hooks if defined?(@after_fork) && @after_fork @after_fork.each do |block| block.call end end @after_fork = nil end |
.run_before_fork_hooks ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/sidekiq/process_manager.rb', line 19 def run_before_fork_hooks if defined?(@before_fork) && @before_fork @before_fork.each do |block| block.call end end @before_fork = nil end |