capistrano3-delayed-job 1.7.2 → 1.7.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 208242ae221650f600d11e49bcef622b4a2f8ff2
4
- data.tar.gz: 5a00c1528b2fd8bd1a27ff9bca1674d118a4aafa
2
+ SHA256:
3
+ metadata.gz: 0752a6724134a2b730dc23b8908e715ea7e28becc3e63014b2a41355d9fc39f4
4
+ data.tar.gz: 0200a538e00978a37c9c5a88c9cad98485deb05fbddd057f9e0e4f65def9c8e8
5
5
  SHA512:
6
- metadata.gz: b9641db7e60e0cc30e962ff5541be6930218bca13cf7ba788c52222a20cbd66158480c39365c37a740252d5db087fa1e63e064380fc89e87d974084825d1d124
7
- data.tar.gz: 47689dd4119cd20311ce29f1fa76f1663c66a8ed391385c65b1bbfbfb9b0df6ec2f7f6f1441f8df192fecfb4f696aff1cfc4d62fb19b2b7dd4fa566d68feeef3
6
+ metadata.gz: d55acc6151887e61e09ad8266f1fa3a6bf266100691e8842df6cee2d85dddd0e0426e86147c237f377175abe83bfcf90dd091d2a9de70f65a9f515a72f7c7c78
7
+ data.tar.gz: 53ebf37ad1879ce6127863874737065576dc524a1dff389851f866e3bb96900f955604331cbc1b92ed0c3892a11ec9329f5334d3f150bd051011b2191dc18b7c
data/README.md CHANGED
@@ -79,6 +79,27 @@ set :delayed_job_queues, ['mailer','tracking']
79
79
  # 'high_priority,*,low_priority' => 1, # works on whatever is available
80
80
  # '*,low_priority' => 1, # high_priority doesn't starve the little guys
81
81
  # }
82
+
83
+ # If you have several servers handling Delayed Jobs and you want to configure
84
+ # different pools per server, you can define delayed_job_pools_per_server:
85
+ #
86
+ # set :delayed_job_pools_per_server, {
87
+ # 'server11-prod' => {
88
+ # 'default,emails' => 3,
89
+ # 'loud_notifications' => 1,
90
+ # 'silent_notifications' => 1,
91
+ # },
92
+ # 'server12-prod' => {
93
+ # 'default' => 2
94
+ # }
95
+ # }
96
+
97
+ # Server names (server11-prod, server12-prod) in :delayed_job_pools_per_server
98
+ # must match the hostnames on Delayed Job servers. You can verify it by running
99
+ # `hostname` on your servers.
100
+
101
+ # If you use :delayed_job_pools_per_server, :delayed_job_pools will be ignored.
102
+
82
103
  # Identification is assigned in order 0..3.
83
104
  # Note that the '*' in this case is actually a queue with that name and does
84
105
  # not mean any queue as it is not used alone, but alongside other queues.
@@ -103,21 +124,39 @@ set :delayed_job_roles, [:app, :background]
103
124
  ### Set the location of the delayed_job pid file(s)
104
125
  # default value: "#{Rails.root}/tmp/pids" or "#{Dir.pwd}/tmp/pids"
105
126
  # set :delayed_job_pid_dir, 'path_to_pid_dir'
127
+
128
+ ### Set the options to be passed along to daemons when starting/stopping/restarting delayed_job workers
129
+ # options supported by daemons can be found at https://github.com/thuehlinger/daemons/blob/master/lib/daemons/cmdline.rb
130
+ # set :delayed_job_daemon_opts, ["no_wait", "shush"]
131
+ ```
132
+
133
+ It also conditionally adds the following hook:
134
+
135
+ ```ruby
136
+ if Rake::Task.task_defined?('deploy:published')
137
+ after 'deploy:published', 'delayed_job:default'
138
+ end
139
+ ```
140
+
141
+ Where the `delayed_job:default` is defined as:
142
+
143
+ ```ruby
144
+ task :default do
145
+ invoke 'delayed_job:restart' if fetch(:delayed_job_default_hooks, true)
146
+ end
106
147
  ```
107
148
 
108
- It also adds the following hook
149
+ Thus you can disable default hook by setting `delayed_job_default_hooks` to `false`. (It still gets _defined_, but will not do anything when called.)
109
150
 
110
151
  ```ruby
111
- after 'deploy:published', 'delayed_job:restart' do
112
- invoke 'delayed_job:restart'
113
- end
152
+ set :delayed_job_default_hooks, false
114
153
  ```
115
154
 
116
155
  Following setting is recommended to avoid stop/restart problem.
117
156
  See [Issue #16](https://github.com/platanus/capistrano3-delayed-job/issues/16) or [PR #22](https://github.com/platanus/capistrano3-delayed-job/pull/22) for more detail.
118
157
 
119
158
  ```ruby
120
- set: linked_dirs, %w(tmp/pids)
159
+ set :linked_dirs, %w(tmp/pids)
121
160
 
122
161
  # or
123
162
 
@@ -139,8 +178,7 @@ Thank you [contributors](https://github.com/AgileConsultingLLC/capistrano3-delay
139
178
  capistrano3-delayed-job is maintained [Rob Biedenharn](https://github.com/rab) and
140
179
  [![Logo of Agile Consulting LLC](http://agileconsultingllc.com/agile-logo-small.png "Agile Consulting LLC")](http://agileconsultingllc.com/)
141
180
 
142
- Originally developed by [platanus](http://platan.us).
143
- [<img src="http://platan.us/gravatar_with_text.png" alt="Platanus" width="125"/>](http://platan.us/)
181
+ Originally developed by [Platanus](http://platan.us).
144
182
 
145
183
  ## License
146
184
 
@@ -1,10 +1,11 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
 
5
6
  Gem::Specification.new do |spec|
6
7
  spec.name = "capistrano3-delayed-job"
7
- spec.version = "1.7.2"
8
+ spec.version = "1.7.6"
8
9
  spec.authors = ["Rob Biedenharn",
9
10
  "Juan Ignacio Donoso",
10
11
  "Agustin Feuerhake",
@@ -24,7 +25,8 @@ Gem::Specification.new do |spec|
24
25
  spec.require_paths = ["lib"]
25
26
 
26
27
  spec.add_dependency 'capistrano', '~> 3.0', '>= 3.0.0'
28
+ spec.add_dependency 'daemons', '~> 1.3'
27
29
 
28
- spec.add_development_dependency "rake", "~> 10.0"
30
+ spec.add_development_dependency "rake", ">= 10.0"
29
31
  spec.add_development_dependency "rubocop", "~> 0.0", '>= 0.39.0'
30
32
  end
@@ -1,6 +1,6 @@
1
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity
2
- # rubocop:disable Metrics/PerceivedComplexity, Style/EmptyLinesAroundBlockBody
3
- # rubocop:disable Style/SpaceInsideParens
1
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/BlockLength
2
+ # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
3
+ # rubocop:disable Style/SpaceInsideParens, Style/EmptyLinesAroundBlockBody
4
4
 
5
5
  namespace :delayed_job do
6
6
 
@@ -12,9 +12,15 @@ namespace :delayed_job do
12
12
  args << "--prefix=#{fetch(:delayed_job_prefix)}" unless fetch(:delayed_job_prefix).nil?
13
13
  args << "--pid-dir=#{fetch(:delayed_job_pid_dir)}" unless fetch(:delayed_job_pid_dir).nil?
14
14
  args << "--log-dir=#{fetch(:delayed_log_dir)}" unless fetch(:delayed_log_dir).nil?
15
- unless fetch(:delayed_job_pools).nil?
15
+ if fetch(:delayed_job_pools_per_server, nil)
16
+ server = capture(:hostname)
17
+ args << fetch(:delayed_job_pools_per_server, {})[server].map {|k,v| "--pool='#{k}:#{v}'" }.join(' ')
18
+ elsif fetch(:delayed_job_pools, nil)
16
19
  args << fetch(:delayed_job_pools, {}).map {|k,v| "--pool='#{k}:#{v}'" }.join(' ')
17
20
  end
21
+ unless fetch(:delayed_job_daemon_opts).nil?
22
+ args << "--daemon-options='--#{fetch(:delayed_job_daemon_opts, []).join(',--')}'"
23
+ end
18
24
  args.join(' ')
19
25
  end
20
26
 
@@ -72,10 +78,14 @@ namespace :delayed_job do
72
78
  end
73
79
  end
74
80
 
75
- after 'deploy:published', 'delayed_job:restart' do
76
- invoke 'delayed_job:restart'
81
+ desc 'Default task - conditionally restart'
82
+ task :default do
83
+ invoke 'delayed_job:restart' if fetch(:delayed_job_default_hooks, true)
77
84
  end
78
85
 
86
+ if Rake::Task.task_defined?('deploy:published')
87
+ after 'deploy:published', 'delayed_job:default'
88
+ end
79
89
  end
80
90
 
81
91
  namespace :load do
@@ -83,8 +93,10 @@ namespace :load do
83
93
  set :delayed_job_workers, 1
84
94
  set :delayed_job_queues, nil
85
95
  set :delayed_job_pools, nil
96
+ set :delayed_job_pools_per_server, nil
86
97
  set :delayed_job_roles, :app
87
98
  set :delayed_job_bin_path, 'bin'
88
99
  set :delayed_job_monitor, nil
100
+ set :delayed_job_default_hooks, true
89
101
  end
90
102
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano3-delayed-job
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Biedenharn
@@ -11,40 +11,54 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-04-28 00:00:00.000000000 Z
14
+ date: 2019-01-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: capistrano
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.0.0
20
23
  - - "~>"
21
24
  - !ruby/object:Gem::Version
22
25
  version: '3.0'
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
23
30
  - - ">="
24
31
  - !ruby/object:Gem::Version
25
32
  version: 3.0.0
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '3.0'
36
+ - !ruby/object:Gem::Dependency
37
+ name: daemons
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.3'
26
43
  type: :runtime
27
44
  prerelease: false
28
45
  version_requirements: !ruby/object:Gem::Requirement
29
46
  requirements:
30
47
  - - "~>"
31
48
  - !ruby/object:Gem::Version
32
- version: '3.0'
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: 3.0.0
49
+ version: '1.3'
36
50
  - !ruby/object:Gem::Dependency
37
51
  name: rake
38
52
  requirement: !ruby/object:Gem::Requirement
39
53
  requirements:
40
- - - "~>"
54
+ - - ">="
41
55
  - !ruby/object:Gem::Version
42
56
  version: '10.0'
43
57
  type: :development
44
58
  prerelease: false
45
59
  version_requirements: !ruby/object:Gem::Requirement
46
60
  requirements:
47
- - - "~>"
61
+ - - ">="
48
62
  - !ruby/object:Gem::Version
49
63
  version: '10.0'
50
64
  - !ruby/object:Gem::Dependency
@@ -108,8 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
122
  - !ruby/object:Gem::Version
109
123
  version: '0'
110
124
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.5.1
125
+ rubygems_version: 3.0.2
113
126
  signing_key:
114
127
  specification_version: 4
115
128
  summary: Adds support for delayed_jobs to Capistrano 3.x