capistrano_multiconfig_parallel 0.21.7 → 0.21.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/capistrano_multiconfig_parallel/application.rb +1 -1
- data/lib/capistrano_multiconfig_parallel/celluloid/celluloid_manager.rb +1 -1
- data/lib/capistrano_multiconfig_parallel/celluloid/terminal_table.rb +1 -14
- data/lib/capistrano_multiconfig_parallel/classes/job.rb +12 -3
- data/lib/capistrano_multiconfig_parallel/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e0b5a6c4d757da56822db1d3841df24d849005f
|
4
|
+
data.tar.gz: 47e706d3ca497fcce259094b026baeda873fa173
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 156d0a858b5cac59ae2e393ec367f010b47efff8d212826eee6e5c45ea1446ab780f9200a1e7a728b36b0a2d8df71885e1d49f801c8996dd0939982407e85f16
|
7
|
+
data.tar.gz: e10b68c1ac518825a070dd221d77ab8c80a02c2e74ec5ca42e09431d87bda94ef32864e2a805a88bad2b626ded2cd44ab99e92c0b1cad657c957b579d990a907
|
@@ -219,7 +219,7 @@ module CapistranoMulticonfigParallel
|
|
219
219
|
env_options = branch_name.present? ? { 'BRANCH' => branch_name }.merge(options['env_options']) : options['env_options']
|
220
220
|
job_env_options = custom_command? && env_options['ACTION'].present? ? env_options.except('ACTION') : env_options
|
221
221
|
|
222
|
-
job = CapistranoMulticonfigParallel::Job.new(options.merge(
|
222
|
+
job = CapistranoMulticonfigParallel::Job.new(Actor.current, options.merge(
|
223
223
|
action: custom_command? && env_options['ACTION'].present? ? env_options['ACTION'] : options['action'],
|
224
224
|
env_options: job_env_options
|
225
225
|
))
|
@@ -194,7 +194,7 @@ module CapistranoMulticonfigParallel
|
|
194
194
|
options.stringify_keys! if options.present?
|
195
195
|
env_opts = options['skip_env_options'].present? ? {} : @job_manager.get_app_additional_env_options(job.app, job.stage)
|
196
196
|
new_job_options = job.options.merge('env_options' => job.env_options.merge(env_opts))
|
197
|
-
new_job = CapistranoMulticonfigParallel::Job.new(new_job_options.merge(options.except(job.job_writer_attributes)))
|
197
|
+
new_job = CapistranoMulticonfigParallel::Job.new(@job_manager, new_job_options.merge(options.except(job.job_writer_attributes)))
|
198
198
|
new_job.setup_writer_attributes(options)
|
199
199
|
async.delegate(new_job) unless job.worker_died?
|
200
200
|
end
|
@@ -44,7 +44,7 @@ module CapistranoMulticonfigParallel
|
|
44
44
|
|
45
45
|
def setup_table_jobs(table, jobs)
|
46
46
|
jobs.each_with_index do |(_job_id, job), count|
|
47
|
-
|
47
|
+
table.add_row(job.terminal_row(count))
|
48
48
|
table.add_separator
|
49
49
|
end
|
50
50
|
end
|
@@ -60,19 +60,6 @@ module CapistranoMulticonfigParallel
|
|
60
60
|
@job_manager.condition.signal('completed') if @manager.all_workers_finished?
|
61
61
|
end
|
62
62
|
|
63
|
-
def worker_state(job)
|
64
|
-
default = job.status.to_s.upcase.red
|
65
|
-
return default unless @manager.alive?
|
66
|
-
worker = @manager.get_worker_for_job(job.id)
|
67
|
-
worker.alive? ? worker.worker_state : default
|
68
|
-
end
|
69
|
-
|
70
|
-
def add_job_to_table(table, job, index)
|
71
|
-
job_state = worker_state(job)
|
72
|
-
job_row = job.terminal_row(index, job_state)
|
73
|
-
table.add_row(job_row)
|
74
|
-
end
|
75
|
-
|
76
63
|
def terminal_clear
|
77
64
|
system('cls') || system('clear') || puts("\e[H\e[2J")
|
78
65
|
end
|
@@ -15,8 +15,10 @@ module CapistranoMulticonfigParallel
|
|
15
15
|
:setup_command_line_standard,
|
16
16
|
to: :command
|
17
17
|
|
18
|
-
def initialize(options)
|
18
|
+
def initialize(application, options)
|
19
19
|
@options = options
|
20
|
+
@application = application
|
21
|
+
@manager = @application.manager
|
20
22
|
end
|
21
23
|
|
22
24
|
def env_variable
|
@@ -27,17 +29,24 @@ module CapistranoMulticonfigParallel
|
|
27
29
|
@command ||= CapistranoMulticonfigParallel::JobCommand.new(self)
|
28
30
|
end
|
29
31
|
|
30
|
-
def terminal_row(index
|
32
|
+
def terminal_row(index)
|
31
33
|
[
|
32
34
|
{ value: (index + 1).to_s },
|
33
35
|
{ value: id.to_s },
|
34
36
|
{ value: job_stage },
|
35
37
|
{ value: capistrano_action },
|
36
38
|
{ value: setup_command_line_standard(filtered_keys: [CapistranoMulticonfigParallel::ENV_KEY_JOB_ID]).join("\n") },
|
37
|
-
{ value:
|
39
|
+
{ value: worker_state }
|
38
40
|
]
|
39
41
|
end
|
40
42
|
|
43
|
+
def worker_state
|
44
|
+
default = status.to_s.upcase.red
|
45
|
+
return default unless @manager.alive?
|
46
|
+
worker = @manager.get_worker_for_job(id)
|
47
|
+
worker.alive? ? worker.worker_state : default
|
48
|
+
end
|
49
|
+
|
41
50
|
def job_writer_attributes
|
42
51
|
%w(status exit_status)
|
43
52
|
end
|