capistrano3-delayed-job 1.0.1 → 1.7.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Logo of Agile Consulting LLC](http://agileconsultingllc.com/agile-logo-small.png "Agile Consulting LLC")](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
|