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 +5 -5
- data/README.md +45 -7
- data/capistrano3-delayed-job.gemspec +4 -2
- data/lib/capistrano/tasks/delayed_job.rake +18 -6
- metadata +23 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0752a6724134a2b730dc23b8908e715ea7e28becc3e63014b2a41355d9fc39f4
|
4
|
+
data.tar.gz: 0200a538e00978a37c9c5a88c9cad98485deb05fbddd057f9e0e4f65def9c8e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
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:
|
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
|
[](http://agileconsultingllc.com/)
|
141
180
|
|
142
|
-
Originally developed by [
|
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.
|
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", "
|
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/
|
2
|
-
# rubocop:disable Metrics/PerceivedComplexity,
|
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
|
-
|
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
|
-
|
76
|
-
|
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.
|
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:
|
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
|
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
|
-
|
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
|