Method: Rake::Task#invoke_prerequisites_concurrently
- Defined in:
- lib/rake/task.rb
#invoke_prerequisites_concurrently(task_args, invocation_chain) ⇒ Object
Invoke all the prerequisites of a task in parallel.
249 250 251 252 253 254 255 256 257 258 |
# File 'lib/rake/task.rb', line 249 def invoke_prerequisites_concurrently(task_args, invocation_chain)# :nodoc: futures = prerequisite_tasks.map do |p| prereq_args = task_args.new_scope(p.arg_names) application.thread_pool.future(p) do |r| r.invoke_with_call_chain(prereq_args, invocation_chain) end end # Iterate in reverse to improve performance related to thread waiting and switching futures.reverse_each(&:value) end |