lib/ztk/parallel.rb in ztk-3.1.0 vs lib/ztk/parallel.rb in ztk-3.2.0

- old
+ new

@@ -2,11 +2,11 @@ module ZTK # Parallel Error Class # - # @author Zachary Patten <zachary AT jovelabs DOT com> + # @author Zachary Patten <zpatten AT jovelabs DOT io> class ParallelError < Error; end # Parallel Processing Class # # This class can be used to easily run iterative and linear processes in a parallel manner. @@ -14,11 +14,11 @@ # The before fork callback is called once in the parent process. # # The after fork callback is called twice, once in the parent process and once # in the child process. # - # *example code*: + # @example Parallel processing with callbacks # # a_callback = Proc.new do |pid| # puts "Hello from After Callback - PID #{pid}" # end # @@ -41,60 +41,10 @@ # end # # parallel.waitall # puts parallel.results.inspect # - # *pry output*: - # - # [1] pry(main)> a_callback = Proc.new do |pid| - # [1] pry(main)* puts "Hello from After Callback - PID #{pid}" - # [1] pry(main)* end - # => #<Proc:0x000000015a8768@(pry):1> - # [2] pry(main)> - # [3] pry(main)> b_callback = Proc.new do |pid| - # [3] pry(main)* puts "Hello from Before Callback - PID #{pid}" - # [3] pry(main)* end - # => #<Proc:0x000000012910e8@(pry):4> - # [4] pry(main)> - # [5] pry(main)> parallel = ZTK::Parallel.new - # => #<ZTK::Parallel:0x000000015a9d48 - # @config= - # #<OpenStruct stdout=#<IO:<STDOUT>>, stderr=#<IO:<STDERR>>, stdin=#<IO:<STDIN>>, logger=#<ZTK::Logger filename="/dev/null">, max_forks=12>, - # @forks=[], - # @results=[]> - # [6] pry(main)> parallel.config do |config| - # [6] pry(main)* config.before_fork = b_callback - # [6] pry(main)* config.after_fork = a_callback - # [6] pry(main)* end - # => #<Proc:0x000000015a8768@(pry):1> - # [7] pry(main)> - # [8] pry(main)> puts Process.pid.inspect - # 24761 - # => nil - # [9] pry(main)> - # [10] pry(main)> 3.times do |x| - # [10] pry(main)* parallel.process do - # [10] pry(main)* x - # [10] pry(main)* end - # [10] pry(main)* end - # Hello from Before Callback - PID 24761 - # Hello from After Callback - PID 24761 - # Hello from Before Callback - PID 24761 - # Hello from After Callback - PID 24776 - # Hello from After Callback - PID 24761 - # Hello from Before Callback - PID 24761 - # Hello from After Callback - PID 24779 - # Hello from After Callback - PID 24761 - # Hello from After Callback - PID 24782 - # => 3 - # [11] pry(main)> - # [12] pry(main)> parallel.waitall - # => [0, 1, 2] - # [13] pry(main)> puts parallel.results.inspect - # [0, 1, 2] - # => nil - # - # @author Zachary Patten <zachary AT jovelabs DOT com> + # @author Zachary Patten <zpatten AT jovelabs DOT io> class Parallel < ZTK::Base class Break < ParallelError; end # Tests if we can marshal an exception via the results; otherwise creates