Class: CapistranoMulticonfigParallel::ExtensionHelper
- Inherits:
-
Object
- Object
- CapistranoMulticonfigParallel::ExtensionHelper
- Defined in:
- lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb
Class Method Summary collapse
- .actor ⇒ Object
- .inside_job? ⇒ Boolean
- .job_id ⇒ Object
- .rake_actor_id ⇒ Object
- .run_the_actor(task, &block) ⇒ Object
Class Method Details
.actor ⇒ Object
19 20 21 22 23 24 |
# File 'lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb', line 19 def actor CapistranoMulticonfigParallel::RakeWorker.supervise_as(rake_actor_id, actor_id: rake_actor_id, job_id: job_id) if Celluloid::Actor[rake_actor_id].blank? Celluloid::Actor[rake_actor_id] end |
.inside_job? ⇒ Boolean
6 7 8 |
# File 'lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb', line 6 def inside_job? job_id.present? end |
.job_id ⇒ Object
10 11 12 |
# File 'lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb', line 10 def job_id ENV[CapistranoMulticonfigParallel::ENV_KEY_JOB_ID] end |
.rake_actor_id ⇒ Object
15 16 17 |
# File 'lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb', line 15 def rake_actor_id ENV['count_rake'].present? ? "rake_worker_#{job_id}_count" : "rake_worker_#{job_id}" end |
.run_the_actor(task, &block) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/capistrano_multiconfig_parallel/extensions/extension_helper.rb', line 26 def run_the_actor(task, &block) actor.work(ENV, task: task) actor.wait_execution until actor.task_approved return unless actor.task_approved stringio = StringIO.new CapistranoMulticonfigParallel::OutputStream.hook(stringio) CapistranoMulticonfigParallel::InputStream.hook(actor, stringio) block.call CapistranoMulticonfigParallel::InputStream.unhook CapistranoMulticonfigParallel::OutputStream.unhook end |