lib/async/container/hybrid.rb in async-container-0.16.6 vs lib/async/container/hybrid.rb in async-container-0.16.7

- old
+ new

@@ -23,10 +23,15 @@ require_relative 'forked' require_relative 'threaded' module Async module Container + # Provides a hybrid multi-process multi-thread container. class Hybrid < Forked + # Run multiple instances of the same block in the container. + # @parameter count [Integer] The number of instances to start. + # @parameter forks [Integer] The number of processes to fork. + # @parameter threads [Integer] the number of threads to start. def run(count: nil, forks: nil, threads: nil, **options, &block) processor_count = Container.processor_count count ||= processor_count ** 2 forks ||= [processor_count, count].min threads = (count / forks).ceil