capistrano3-delayed-job 1.0.1 → 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/.rubocop.yml +56 -0
- data/LICENSE.txt +1 -1
- data/README.md +115 -19
- data/Rakefile +0 -1
- data/capistrano3-delayed-job.gemspec +17 -8
- data/lib/capistrano/delayed-job.rb +2 -1
- data/lib/capistrano/delayed_job.rb +1 -0
- data/lib/capistrano/tasks/delayed_job.rake +102 -0
- metadata +59 -15
- data/lib/capistrano/tasks/delayed-job.rake +0 -61
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/.rubocop.yml
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Should just disable for 'lib/capistrano/tasks/delayed_job.rake'
|
2
|
+
|
3
|
+
Metrics/AbcSize:
|
4
|
+
Max: 16
|
5
|
+
|
6
|
+
Metrics/MethodLength:
|
7
|
+
Max: 10
|
8
|
+
|
9
|
+
Metrics/CyclomaticComplexity:
|
10
|
+
Max: 7
|
11
|
+
|
12
|
+
Metrics/PerceivedComplexity:
|
13
|
+
Max: 7
|
14
|
+
|
15
|
+
Metrics/LineLength:
|
16
|
+
Max: 120
|
17
|
+
|
18
|
+
Style/FileName:
|
19
|
+
Exclude:
|
20
|
+
- 'lib/capistrano3-delayed-job.rb'
|
21
|
+
- 'lib/capistrano/delayed-job.rb'
|
22
|
+
|
23
|
+
Style/PercentLiteralDelimiters:
|
24
|
+
PreferredDelimiters:
|
25
|
+
'%': '{}'
|
26
|
+
'%i': '[]'
|
27
|
+
'%q': '{}'
|
28
|
+
'%Q': '{}'
|
29
|
+
'%r': '{}'
|
30
|
+
'%s': ()
|
31
|
+
'%w': '[]'
|
32
|
+
'%W': '[]'
|
33
|
+
'%x': ()
|
34
|
+
|
35
|
+
Style/StringLiterals:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
Style/SpaceAfterComma: # really want a way to allow Array(something)[-1,1]
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
Style/SpaceAroundEqualsInParameterDefault:
|
42
|
+
EnforcedStyle: no_space
|
43
|
+
|
44
|
+
Style/SpaceAroundOperators:
|
45
|
+
AllowForAlignment: true
|
46
|
+
Enabled: false
|
47
|
+
|
48
|
+
Style/SpaceInsideBlockBraces:
|
49
|
+
EnforcedStyle: space
|
50
|
+
EnforcedStyleForEmptyBraces: no_space
|
51
|
+
# Space between { and |. Overrides EnforcedStyle if there is a conflict.
|
52
|
+
SpaceBeforeBlockParameters: false
|
53
|
+
|
54
|
+
Style/UnneededPercentQ:
|
55
|
+
Exclude:
|
56
|
+
- 'capistrano3-delayed-job.gemspec'
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -22,15 +22,16 @@ Or install it yourself as:
|
|
22
22
|
Require in `Capfile` to use the default task:
|
23
23
|
|
24
24
|
```ruby
|
25
|
-
require 'capistrano/
|
25
|
+
require 'capistrano/delayed_job'
|
26
26
|
```
|
27
27
|
|
28
28
|
You will get the following tasks
|
29
29
|
|
30
30
|
```ruby
|
31
|
-
cap delayed_job:
|
32
|
-
cap delayed_job:
|
33
|
-
cap delayed_job:
|
31
|
+
cap delayed_job:restart # Restart the delayed_job process
|
32
|
+
cap delayed_job:start # Start the delayed_job process
|
33
|
+
cap delayed_job:status # Status of the delayed_job process
|
34
|
+
cap delayed_job:stop # Stop the delayed_job process
|
34
35
|
```
|
35
36
|
|
36
37
|
Configurable options (copy into deploy.rb), shown here with examples:
|
@@ -40,31 +41,126 @@ Configurable options (copy into deploy.rb), shown here with examples:
|
|
40
41
|
# default value: 1
|
41
42
|
set :delayed_job_workers, 2
|
42
43
|
|
44
|
+
# String to be prefixed to worker process names
|
45
|
+
# This feature allows a prefix name to be placed in front of the process.
|
46
|
+
# For example: reports/delayed_job.0 instead of just delayed_job.0
|
47
|
+
set :delayed_job_prefix, 'reports'
|
48
|
+
|
43
49
|
# Delayed_job queue or queues
|
44
50
|
# Set the --queue or --queues option to work from a particular queue.
|
45
51
|
# default value: nil
|
46
52
|
set :delayed_job_queues, ['mailer','tracking']
|
47
53
|
|
48
54
|
# Specify different pools
|
49
|
-
# You can use this option multiple times to start different numbers of workers
|
55
|
+
# You can use this option multiple times to start different numbers of workers
|
56
|
+
# for different queues.
|
57
|
+
# NOTE: When using delayed_job_pools, the settings for delayed_job_workers and
|
58
|
+
# delayed_job_queues are ignored.
|
50
59
|
# default value: nil
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
}
|
60
|
+
#
|
61
|
+
# Single pool of 3 workers looking at all queues: (when alone, '*' is a
|
62
|
+
# special case meaning any queue)
|
63
|
+
# set :delayed_job_pools, { '*' => 3 }
|
64
|
+
# set :delayed_job_pools, { '' => 3 }
|
65
|
+
# set :delayed_job_pools, { nil => 3 }
|
66
|
+
#
|
67
|
+
# Several queues, some with their own dedicated pools: (symbol keys will be
|
68
|
+
# converted to strings)
|
69
|
+
# set :delayed_job_pools, {
|
70
|
+
# :mailer => 2, # 2 workers looking only at the 'mailer' queue
|
71
|
+
# :tracking => 1, # 1 worker exclusively for the 'tracking' queue
|
72
|
+
# :* => 2 # 2 on any queue (including 'mailer' and 'tracking')
|
73
|
+
# }
|
74
|
+
#
|
75
|
+
# Several workers each handling one or more queues:
|
76
|
+
# set :delayed_job_pools, {
|
77
|
+
# 'high_priority' => 1, # one just for the important stuff
|
78
|
+
# 'high_priority,*' => 1, # never blocked by low_priority jobs
|
79
|
+
# 'high_priority,*,low_priority' => 1, # works on whatever is available
|
80
|
+
# '*,low_priority' => 1, # high_priority doesn't starve the little guys
|
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
|
+
|
103
|
+
# Identification is assigned in order 0..3.
|
104
|
+
# Note that the '*' in this case is actually a queue with that name and does
|
105
|
+
# not mean any queue as it is not used alone, but alongside other queues.
|
56
106
|
|
57
107
|
# Set the roles where the delayed_job process should be started
|
58
108
|
# default value: :app
|
59
109
|
set :delayed_job_roles, [:app, :background]
|
110
|
+
|
111
|
+
# Set the location of the delayed_job executable
|
112
|
+
# Can be relative to the release_path or absolute
|
113
|
+
# default value: 'bin'
|
114
|
+
# set :delayed_job_bin_path, 'script' # for rails 3.x
|
115
|
+
|
116
|
+
# To pass the `-m` option to the delayed_job executable which will cause each
|
117
|
+
# worker to be monitored when daemonized.
|
118
|
+
# set :delayed_job_monitor, true
|
119
|
+
|
120
|
+
### Set the location of the delayed_job.log logfile
|
121
|
+
# default value: "#{Rails.root}/log" or "#{Dir.pwd}/log"
|
122
|
+
# set :delayed_log_dir, 'path_to_log_dir'
|
123
|
+
|
124
|
+
### Set the location of the delayed_job pid file(s)
|
125
|
+
# default value: "#{Rails.root}/tmp/pids" or "#{Dir.pwd}/tmp/pids"
|
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"]
|
60
131
|
```
|
61
132
|
|
62
|
-
It also adds the following hook
|
133
|
+
It also conditionally adds the following hook:
|
63
134
|
|
64
135
|
```ruby
|
65
|
-
|
66
|
-
|
67
|
-
end
|
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
|
147
|
+
```
|
148
|
+
|
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.)
|
150
|
+
|
151
|
+
```ruby
|
152
|
+
set :delayed_job_default_hooks, false
|
153
|
+
```
|
154
|
+
|
155
|
+
Following setting is recommended to avoid stop/restart problem.
|
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.
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
set :linked_dirs, %w(tmp/pids)
|
160
|
+
|
161
|
+
# or
|
162
|
+
|
163
|
+
set :delayed_job_pid_dir, '/tmp'
|
68
164
|
```
|
69
165
|
|
70
166
|
## Contributing
|
@@ -77,13 +173,13 @@ end
|
|
77
173
|
|
78
174
|
## Credits
|
79
175
|
|
80
|
-
Thank you [contributors](https://github.com/
|
176
|
+
Thank you [contributors](https://github.com/AgileConsultingLLC/capistrano3-delayed-job/graphs/contributors)!
|
81
177
|
|
82
|
-
|
178
|
+
capistrano3-delayed-job is maintained [Rob Biedenharn](https://github.com/rab) and
|
179
|
+
[](http://agileconsultingllc.com/)
|
83
180
|
|
84
|
-
|
181
|
+
Originally developed by [Platanus](http://platan.us).
|
85
182
|
|
86
183
|
## License
|
87
184
|
|
88
|
-
|
89
|
-
|
185
|
+
capistrano3-delayed-job is © 2016 Platanus SpA. It is free software and may be redistributed under the terms specified in the LICENSE file.
|
data/Rakefile
CHANGED
@@ -1,23 +1,32 @@
|
|
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.
|
8
|
-
spec.authors = ["
|
9
|
-
|
8
|
+
spec.version = "1.7.6"
|
9
|
+
spec.authors = ["Rob Biedenharn",
|
10
|
+
"Juan Ignacio Donoso",
|
11
|
+
"Agustin Feuerhake",
|
12
|
+
"Ignacio Baixas"]
|
13
|
+
spec.email = ["rob_biedenharn@alum.mit.edu",
|
14
|
+
"juan.ignacio@platan.us",
|
15
|
+
"agustin@platan.us",
|
16
|
+
"ignacio@platan.us"]
|
10
17
|
spec.summary = %q{Adds support for delayed_jobs to Capistrano 3.x}
|
11
|
-
spec.description = %q{
|
12
|
-
spec.homepage = ""
|
18
|
+
spec.description = %q{Manage start/stop/restart/status of DelayedJob workers using Capistrano 3}
|
19
|
+
spec.homepage = "https://github.com/AgileConsultingLLC/capistrano3-delayed-job"
|
13
20
|
spec.license = "MIT"
|
14
21
|
|
15
22
|
spec.files = `git ls-files -z`.split("\x0")
|
16
|
-
spec.executables = spec.files.grep(%r{^bin/}) {
|
23
|
+
spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
|
17
24
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
25
|
spec.require_paths = ["lib"]
|
19
26
|
|
20
|
-
spec.add_dependency 'capistrano', '>= 3.0.0'
|
27
|
+
spec.add_dependency 'capistrano', '~> 3.0', '>= 3.0.0'
|
28
|
+
spec.add_dependency 'daemons', '~> 1.3'
|
21
29
|
|
22
|
-
spec.add_development_dependency "rake", "
|
30
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
31
|
+
spec.add_development_dependency "rubocop", "~> 0.0", '>= 0.39.0'
|
23
32
|
end
|
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
warn %{"require 'capistrano/delayed-job'" is deprecated; please use "require 'capistrano/delayed_job'" in #{Kernel.caller(1,1).first}} # rubocop:disable Metrics/LineLength
|
2
|
+
require_relative 'delayed_job'
|
@@ -0,0 +1 @@
|
|
1
|
+
load File.expand_path('../tasks/delayed_job.rake', __FILE__)
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/BlockLength
|
2
|
+
# rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
3
|
+
# rubocop:disable Style/SpaceInsideParens, Style/EmptyLinesAroundBlockBody
|
4
|
+
|
5
|
+
namespace :delayed_job do
|
6
|
+
|
7
|
+
def delayed_job_args
|
8
|
+
args = []
|
9
|
+
args << "-m" if fetch(:delayed_job_monitor) # could be set to false
|
10
|
+
args << "-n #{fetch(:delayed_job_workers)}" unless fetch(:delayed_job_workers).nil?
|
11
|
+
args << "--queues=#{fetch(:delayed_job_queues).join(',')}" unless fetch(:delayed_job_queues).nil?
|
12
|
+
args << "--prefix=#{fetch(:delayed_job_prefix)}" unless fetch(:delayed_job_prefix).nil?
|
13
|
+
args << "--pid-dir=#{fetch(:delayed_job_pid_dir)}" unless fetch(:delayed_job_pid_dir).nil?
|
14
|
+
args << "--log-dir=#{fetch(:delayed_log_dir)}" unless fetch(:delayed_log_dir).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)
|
19
|
+
args << fetch(:delayed_job_pools, {}).map {|k,v| "--pool='#{k}:#{v}'" }.join(' ')
|
20
|
+
end
|
21
|
+
unless fetch(:delayed_job_daemon_opts).nil?
|
22
|
+
args << "--daemon-options='--#{fetch(:delayed_job_daemon_opts, []).join(',--')}'"
|
23
|
+
end
|
24
|
+
args.join(' ')
|
25
|
+
end
|
26
|
+
|
27
|
+
def delayed_job_roles
|
28
|
+
fetch(:delayed_job_roles)
|
29
|
+
end
|
30
|
+
|
31
|
+
def delayed_job_bin
|
32
|
+
Pathname.new(fetch(:delayed_job_bin_path)).join('delayed_job')
|
33
|
+
end
|
34
|
+
|
35
|
+
desc 'Stop the delayed_job process'
|
36
|
+
task :stop do
|
37
|
+
on roles(delayed_job_roles) do
|
38
|
+
within release_path do
|
39
|
+
with rails_env: fetch(:rails_env) do
|
40
|
+
execute :bundle, :exec, delayed_job_bin, delayed_job_args, :stop
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
desc 'Start the delayed_job process'
|
47
|
+
task :start do
|
48
|
+
on roles(delayed_job_roles) do
|
49
|
+
within release_path do
|
50
|
+
with rails_env: fetch(:rails_env) do
|
51
|
+
execute :bundle, :exec, delayed_job_bin, delayed_job_args, :start
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
desc 'Status of the delayed_job process'
|
58
|
+
task :status do
|
59
|
+
on roles(delayed_job_roles) do
|
60
|
+
within release_path do
|
61
|
+
with rails_env: fetch(:rails_env) do
|
62
|
+
capture( :bundle, :exec, delayed_job_bin, delayed_job_args, :status ).each_line do |line|
|
63
|
+
info line
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
desc 'Restart the delayed_job process'
|
71
|
+
task :restart do
|
72
|
+
on roles(delayed_job_roles) do
|
73
|
+
within release_path do
|
74
|
+
with rails_env: fetch(:rails_env) do
|
75
|
+
execute :bundle, :exec, delayed_job_bin, delayed_job_args, :restart
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
desc 'Default task - conditionally restart'
|
82
|
+
task :default do
|
83
|
+
invoke 'delayed_job:restart' if fetch(:delayed_job_default_hooks, true)
|
84
|
+
end
|
85
|
+
|
86
|
+
if Rake::Task.task_defined?('deploy:published')
|
87
|
+
after 'deploy:published', 'delayed_job:default'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
namespace :load do
|
92
|
+
task :defaults do
|
93
|
+
set :delayed_job_workers, 1
|
94
|
+
set :delayed_job_queues, nil
|
95
|
+
set :delayed_job_pools, nil
|
96
|
+
set :delayed_job_pools_per_server, nil
|
97
|
+
set :delayed_job_roles, :app
|
98
|
+
set :delayed_job_bin_path, 'bin'
|
99
|
+
set :delayed_job_monitor, nil
|
100
|
+
set :delayed_job_default_hooks, true
|
101
|
+
end
|
102
|
+
end
|
metadata
CHANGED
@@ -1,64 +1,109 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano3-delayed-job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Rob Biedenharn
|
7
8
|
- Juan Ignacio Donoso
|
8
9
|
- Agustin Feuerhake
|
9
10
|
- Ignacio Baixas
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2019-01-11 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: capistrano
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
18
19
|
requirements:
|
19
|
-
- -
|
20
|
+
- - ">="
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 3.0.0
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '3.0'
|
22
26
|
type: :runtime
|
23
27
|
prerelease: false
|
24
28
|
version_requirements: !ruby/object:Gem::Requirement
|
25
29
|
requirements:
|
26
|
-
- -
|
30
|
+
- - ">="
|
27
31
|
- !ruby/object:Gem::Version
|
28
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'
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.3'
|
29
50
|
- !ruby/object:Gem::Dependency
|
30
51
|
name: rake
|
31
52
|
requirement: !ruby/object:Gem::Requirement
|
32
53
|
requirements:
|
33
|
-
- -
|
54
|
+
- - ">="
|
34
55
|
- !ruby/object:Gem::Version
|
35
56
|
version: '10.0'
|
36
57
|
type: :development
|
37
58
|
prerelease: false
|
38
59
|
version_requirements: !ruby/object:Gem::Requirement
|
39
60
|
requirements:
|
40
|
-
- -
|
61
|
+
- - ">="
|
41
62
|
- !ruby/object:Gem::Version
|
42
63
|
version: '10.0'
|
43
|
-
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: rubocop
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0.0'
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 0.39.0
|
74
|
+
type: :development
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0.0'
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.39.0
|
84
|
+
description: Manage start/stop/restart/status of DelayedJob workers using Capistrano
|
85
|
+
3
|
44
86
|
email:
|
87
|
+
- rob_biedenharn@alum.mit.edu
|
45
88
|
- juan.ignacio@platan.us
|
46
89
|
- agustin@platan.us
|
47
|
-
- ignacio@
|
90
|
+
- ignacio@platan.us
|
48
91
|
executables: []
|
49
92
|
extensions: []
|
50
93
|
extra_rdoc_files: []
|
51
94
|
files:
|
52
|
-
- .gitignore
|
95
|
+
- ".gitignore"
|
96
|
+
- ".rubocop.yml"
|
53
97
|
- Gemfile
|
54
98
|
- LICENSE.txt
|
55
99
|
- README.md
|
56
100
|
- Rakefile
|
57
101
|
- capistrano3-delayed-job.gemspec
|
58
102
|
- lib/capistrano/delayed-job.rb
|
59
|
-
- lib/capistrano/
|
103
|
+
- lib/capistrano/delayed_job.rb
|
104
|
+
- lib/capistrano/tasks/delayed_job.rake
|
60
105
|
- lib/capistrano3-delayed-job.rb
|
61
|
-
homepage:
|
106
|
+
homepage: https://github.com/AgileConsultingLLC/capistrano3-delayed-job
|
62
107
|
licenses:
|
63
108
|
- MIT
|
64
109
|
metadata: {}
|
@@ -68,17 +113,16 @@ require_paths:
|
|
68
113
|
- lib
|
69
114
|
required_ruby_version: !ruby/object:Gem::Requirement
|
70
115
|
requirements:
|
71
|
-
- -
|
116
|
+
- - ">="
|
72
117
|
- !ruby/object:Gem::Version
|
73
118
|
version: '0'
|
74
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
120
|
requirements:
|
76
|
-
- -
|
121
|
+
- - ">="
|
77
122
|
- !ruby/object:Gem::Version
|
78
123
|
version: '0'
|
79
124
|
requirements: []
|
80
|
-
|
81
|
-
rubygems_version: 2.0.14
|
125
|
+
rubygems_version: 3.0.2
|
82
126
|
signing_key:
|
83
127
|
specification_version: 4
|
84
128
|
summary: Adds support for delayed_jobs to Capistrano 3.x
|
@@ -1,61 +0,0 @@
|
|
1
|
-
namespace :delayed_job do
|
2
|
-
|
3
|
-
def args
|
4
|
-
args = ""
|
5
|
-
args += "-n #{fetch(:delayed_job_workers)}" unless fetch(:delayed_job_workers).nil?
|
6
|
-
args += "--queues=#{fetch(:delayed_job_queues).join(',')}" unless fetch(:delayed_job_queues).nil?
|
7
|
-
args += fetch(:delayed_job_pool).map {|k,v| "--pool=#{k}:#{v}"}.join(' ') unless fetch(:delayed_job_pool).nil?
|
8
|
-
args
|
9
|
-
end
|
10
|
-
|
11
|
-
def delayed_job_roles
|
12
|
-
fetch(:delayed_job_roles)
|
13
|
-
end
|
14
|
-
|
15
|
-
desc 'Stop the delayed_job process'
|
16
|
-
task :stop do
|
17
|
-
on roles(delayed_job_roles) do
|
18
|
-
within release_path do
|
19
|
-
with rails_env: fetch(:rails_env) do
|
20
|
-
execute :bundle, :exec, :'script/delayed_job', :stop
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
desc 'Start the delayed_job process'
|
27
|
-
task :start do
|
28
|
-
on roles(delayed_job_roles) do
|
29
|
-
within release_path do
|
30
|
-
with rails_env: fetch(:rails_env) do
|
31
|
-
execute :bundle, :exec, :'script/delayed_job', args, :start
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
desc 'Restart the delayed_job process'
|
38
|
-
task :restart do
|
39
|
-
on roles(delayed_job_roles) do
|
40
|
-
within release_path do
|
41
|
-
with rails_env: fetch(:rails_env) do
|
42
|
-
execute :bundle, :exec, :'script/delayed_job', args, :restart
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
after 'deploy:publishing', 'restart' do
|
49
|
-
invoke 'delayed_job:restart'
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
namespace :load do
|
55
|
-
task :defaults do
|
56
|
-
set :delayed_job_workers, 1
|
57
|
-
set :delayed_job_queues, nil
|
58
|
-
set :delayed_job_pool, nil
|
59
|
-
set :delayed_job_roles, :app
|
60
|
-
end
|
61
|
-
end
|