Module: ParallelBatchApi::Processor
- Included in:
- Middleware
- Defined in:
- lib/parallel_batch_api/processor.rb
Instance Method Summary collapse
- #parallel_process(env) ⇒ Object
- #process(env) ⇒ Object
- #requests(env) ⇒ Object
- #thread_size ⇒ Object
Instance Method Details
#parallel_process(env) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/parallel_batch_api/processor.rb', line 8 def parallel_process(env) Parallel.map(requests(env), in_threads: thread_size) do |item| ActiveRecord::Base.connection_pool.with_connection do e = env.deep_dup rack = ParallelBatchApi::RackProcessor.new(e, item, @app) rack.process end end end |
#process(env) ⇒ Object
4 5 6 |
# File 'lib/parallel_batch_api/processor.rb', line 4 def process(env) build_response(parallel_process(env.deep_dup)) end |
#requests(env) ⇒ Object
18 19 20 |
# File 'lib/parallel_batch_api/processor.rb', line 18 def requests(env) build_requests(env) end |
#thread_size ⇒ Object
22 23 24 |
# File 'lib/parallel_batch_api/processor.rb', line 22 def thread_size ParallelBatchApi.thread || 1 end |