Sha256: b10aa513ef6d3cd1f1ae9de559c8ac5985b0dab6b9cef5eac9670531c6c6420e
Contents?: true
Size: 701 Bytes
Versions: 6
Compression:
Stored size: 701 Bytes
Contents
module GoodJob class MultiScheduler attr_reader :schedulers def initialize(schedulers) @schedulers = schedulers end def shutdown(wait: true) schedulers.each { |s| s.shutdown(wait: wait) } end def shutdown? schedulers.all?(&:shutdown?) end def restart(wait: true) schedulers.each { |s| s.restart(wait: wait) } end def create_thread(state = nil) results = [] any_true = schedulers.any? do |scheduler| scheduler.create_thread(state).tap { |result| results << result } end if any_true true else results.any? { |result| result == false } ? false : nil end end end end
Version data entries
6 entries across 6 versions & 1 rubygems