Class: ActiveSupport::Testing::Parallelization
Do not use. This class is for internal use only.
Relationships & Source Files | |
Namespace Children | |
Classes:
| |
Inherits: | Object |
Defined in: | activesupport/lib/active_support/testing/parallelization.rb, activesupport/lib/active_support/testing/parallelization/server.rb, activesupport/lib/active_support/testing/parallelization/worker.rb |
Class Attribute Summary
- .after_fork_hooks (also: #after_fork_hooks) readonly
- .before_fork_hooks (also: #before_fork_hooks) readonly
- .run_cleanup_hooks (also: #run_cleanup_hooks) readonly
Class Method Summary
Instance Attribute Summary
- #after_fork_hooks readonly
- #before_fork_hooks readonly
- #run_cleanup_hooks readonly
Instance Method Summary
Constructor Details
.new(worker_count) ⇒ Parallelization
Class Attribute Details
.after_fork_hooks (readonly) Also known as: #after_fork_hooks
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 26
cattr_reader :after_fork_hooks
.before_fork_hooks (readonly) Also known as: #before_fork_hooks
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 18
cattr_reader :before_fork_hooks
.run_cleanup_hooks (readonly) Also known as: #run_cleanup_hooks
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 34
cattr_reader :run_cleanup_hooks
Class Method Details
.after_fork_hook(&blk)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 22
def self.after_fork_hook(&blk) @@after_fork_hooks << blk end
.before_fork_hook(&blk)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 14
def self.before_fork_hook(&blk) @@before_fork_hooks << blk end
.run_cleanup_hook(&blk)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 30
def self.run_cleanup_hook(&blk) @@run_cleanup_hooks << blk end
Instance Attribute Details
#after_fork_hooks (readonly)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 26
cattr_reader :after_fork_hooks
#before_fork_hooks (readonly)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 18
cattr_reader :before_fork_hooks
#run_cleanup_hooks (readonly)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 34
cattr_reader :run_cleanup_hooks
Instance Method Details
#<<(work)
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 54
def <<(work) @queue_server << work end
#before_fork
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 43
def before_fork Parallelization.before_fork_hooks.each(&:call) end
#shutdown
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 62
def shutdown @queue_server.shutdown @worker_pool.each { |pid| Process.waitpid pid } end
#size
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 58
def size @worker_count end
#start
[ GitHub ]# File 'activesupport/lib/active_support/testing/parallelization.rb', line 47
def start before_fork @worker_pool = @worker_count.times.map do |worker| Worker.new(worker, @url).start end end