capistrano-sidekiq 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -36
- data/README.md +31 -0
- data/lib/capistrano/sidekiq/version.rb +1 -1
- data/lib/capistrano/tasks/monit.rake +2 -1
- data/lib/capistrano/tasks/sidekiq.rake +103 -37
- data/lib/generators/capistrano/sidekiq/systemd/templates/sidekiq.service.capistrano.erb +19 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26aff29f42bea923b68df1bb882bd0ae1a4289ee
|
4
|
+
data.tar.gz: b512116ee2722510550958339899136abb399958
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b8b90a8bfd058f771270b665bf6c76d43a99312f85ce64ffaf8e6ae01ce14e3f6029f1831f99cb9cf6df926df2ce4c9bade86ee6283a06b1093f9e426d0db05
|
7
|
+
data.tar.gz: 6ab3ce241dcc7d8c66ee5e017290187b7d8ed6afc8198c416262c5f3d48d17012d3d970db8a5f4a85773566ed009b0924618a3b28031903470bae19759e428f6
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.0.1
|
4
|
+
- Add deploy failure handling @phillbaker
|
5
|
+
- Support custom monit filename @zocoi
|
6
|
+
- Systemd Integration @baierjan
|
7
|
+
- Fix regression in sidekiq_roles variable
|
8
|
+
- Fixed pidfile accounting per process @jsantos
|
9
|
+
- Rubocop corrections for main task @jsantos
|
10
|
+
|
3
11
|
## 1.0.0
|
4
12
|
|
5
13
|
- Prepend underscore before service name index @Tensho
|
6
14
|
- Convert CHANGELOG to Markdown @Tensho
|
7
15
|
- Drop support for capistrano 2.0 @Tensho
|
8
16
|
- *BREAKING CHANGE* If people used custom monit template, they should adjust it to use pid_files variable instead of processes_pids. @Tensho
|
17
|
+
- *BREAKING CHANGE* `:sidekiq_role` has been renamed to its plural form, `:sidekiq_roles`
|
9
18
|
|
10
19
|
## 0.20.0
|
11
20
|
|
@@ -17,21 +26,21 @@
|
|
17
26
|
- `sidekiq:stop` task perpertually callable @Tensho
|
18
27
|
|
19
28
|
## 0.5.4
|
20
|
-
|
29
|
+
|
21
30
|
- Add support for custom count of processes per host in monit task @okoriko
|
22
|
-
|
31
|
+
|
23
32
|
## 0.5.3
|
24
|
-
|
33
|
+
|
25
34
|
- Custom count of processes per each host
|
26
|
-
|
35
|
+
|
27
36
|
## 0.5.0
|
28
|
-
|
37
|
+
|
29
38
|
- Multiple processes @mrsimo
|
30
|
-
|
39
|
+
|
31
40
|
## 0.3.9
|
32
|
-
|
41
|
+
|
33
42
|
- Restore daemon flag from Monit template
|
34
|
-
|
43
|
+
|
35
44
|
## 0.3.8
|
36
45
|
|
37
46
|
- Update monit template: use su instead of sudo / permit all Sidekiq options @bensie
|
@@ -43,59 +52,59 @@
|
|
43
52
|
- Run Sidekiq as daemon from Monit @dpaluy
|
44
53
|
|
45
54
|
## 0.3.5
|
46
|
-
|
55
|
+
|
47
56
|
- Added `:sidekiq_tag` for capistrano 2 @OscarBarrett
|
48
|
-
|
57
|
+
|
49
58
|
## 0.3.4
|
50
|
-
|
59
|
+
|
51
60
|
- Fix bug in `sidekiq:start` for capistrano 2 task
|
52
|
-
|
61
|
+
|
53
62
|
## 0.3.3
|
54
|
-
|
63
|
+
|
55
64
|
- `sidekiq:restart` after `deploy:restart` added to default hooks
|
56
|
-
|
65
|
+
|
57
66
|
## 0.3.2
|
58
|
-
|
67
|
+
|
59
68
|
- `:sidekiq_queue` accept an array
|
60
|
-
|
69
|
+
|
61
70
|
## 0.3.1
|
62
|
-
|
71
|
+
|
63
72
|
- Fix logs @rottman
|
64
73
|
- Add concurrency option support @ungsophy
|
65
|
-
|
74
|
+
|
66
75
|
## 0.3.0
|
67
|
-
|
76
|
+
|
68
77
|
- Fix monit task @andreygerasimchuk
|
69
|
-
|
78
|
+
|
70
79
|
## 0.2.9
|
71
|
-
|
80
|
+
|
72
81
|
- Check if current directory exist @alexdunae
|
73
|
-
|
82
|
+
|
74
83
|
## 0.2.8
|
75
|
-
|
84
|
+
|
76
85
|
- Added `:sidekiq_queue` & `:sidekiq_config`
|
77
|
-
|
86
|
+
|
78
87
|
## 0.2.7
|
79
|
-
|
88
|
+
|
80
89
|
- Signal usage @penso
|
81
|
-
|
90
|
+
|
82
91
|
## 0.2.6
|
83
|
-
|
92
|
+
|
84
93
|
- `sidekiq:start` check if sidekiq is running
|
85
|
-
|
94
|
+
|
86
95
|
## 0.2.5
|
87
|
-
|
96
|
+
|
88
97
|
- Bug fixes
|
89
|
-
|
98
|
+
|
90
99
|
## 0.2.4
|
91
|
-
|
100
|
+
|
92
101
|
- Fast deploy with `:sidekiq_run_in_background`
|
93
|
-
|
102
|
+
|
94
103
|
## 0.2.3
|
95
|
-
|
104
|
+
|
96
105
|
- Added monit tasks (alpha)
|
97
|
-
|
106
|
+
|
98
107
|
## 0.2.0
|
99
|
-
|
108
|
+
|
100
109
|
- Added `sidekiq:rolling_restart` @jlecour
|
101
|
-
|
110
|
+
|
data/README.md
CHANGED
@@ -59,11 +59,22 @@ Configurable options, shown here with defaults:
|
|
59
59
|
:sidekiq_user => nil #user to run sidekiq as
|
60
60
|
```
|
61
61
|
|
62
|
+
## Known issues with Capistrano 3
|
63
|
+
|
62
64
|
There is a known bug that prevents sidekiq from starting when pty is true on Capistrano 3.
|
63
65
|
```ruby
|
64
66
|
set :pty, false
|
65
67
|
```
|
66
68
|
|
69
|
+
## Bundler
|
70
|
+
|
71
|
+
If you'd like to prepend `bundle exec` to your sidekiq and sidekiqctl calls, modify the SSHKit command maps
|
72
|
+
in your deploy.rb file:
|
73
|
+
```ruby
|
74
|
+
SSHKit.config.command_map[:sidekiq] = "bundle exec sidekiq"
|
75
|
+
SSHKit.config.command_map[:sidekiqctl] = "bundle exec sidekiqctl"
|
76
|
+
```
|
77
|
+
|
67
78
|
## Multiple processes
|
68
79
|
|
69
80
|
You can configure sidekiq to start with multiple processes. Just set the proper amount in `sidekiq_processes`.
|
@@ -89,6 +100,26 @@ server 'example-small.com', roles: [:sidekiq_small]
|
|
89
100
|
server 'example-big.com', roles: [:sidekiq_big]
|
90
101
|
```
|
91
102
|
|
103
|
+
## Integration with systemd
|
104
|
+
|
105
|
+
Set init system to systemd in the cap deploy config:
|
106
|
+
|
107
|
+
```ruby
|
108
|
+
set :init_system, :systemd
|
109
|
+
```
|
110
|
+
|
111
|
+
Install systemd.service template file and enable the service with:
|
112
|
+
|
113
|
+
```
|
114
|
+
bundle exec cap sidekiq:install
|
115
|
+
```
|
116
|
+
|
117
|
+
Default name for the service file is `sidekiq-stage.service`. This can be changed as needed, for example:
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
set :service_unit_name, "sidekiq-#{fetch(:application)}-#{fetch(:stage)}.service"
|
121
|
+
```
|
122
|
+
|
92
123
|
## Customizing the monit sidekiq templates
|
93
124
|
|
94
125
|
If you need change some config in redactor, you can
|
@@ -1,6 +1,7 @@
|
|
1
1
|
namespace :load do
|
2
2
|
task :defaults do
|
3
3
|
set :sidekiq_monit_conf_dir, '/etc/monit/conf.d'
|
4
|
+
set :sidekiq_monit_conf_file, "#{sidekiq_service_name}.conf"
|
4
5
|
set :sidekiq_monit_use_sudo, true
|
5
6
|
set :monit_bin, '/usr/bin/monit'
|
6
7
|
set :sidekiq_monit_default_hooks, true
|
@@ -31,7 +32,7 @@ namespace :sidekiq do
|
|
31
32
|
@role = role
|
32
33
|
upload_sidekiq_template 'sidekiq_monit', "#{fetch(:tmp_dir)}/monit.conf", @role
|
33
34
|
|
34
|
-
mv_command = "mv #{fetch(:tmp_dir)}/monit.conf #{fetch(:sidekiq_monit_conf_dir)}/#{
|
35
|
+
mv_command = "mv #{fetch(:tmp_dir)}/monit.conf #{fetch(:sidekiq_monit_conf_dir)}/#{fetch(:sidekiq_monit_conf_file)}"
|
35
36
|
sudo_if_needed mv_command
|
36
37
|
|
37
38
|
sudo_if_needed "#{fetch(:monit_bin)} reload"
|
@@ -6,16 +6,20 @@ namespace :load do
|
|
6
6
|
set :sidekiq_env, -> { fetch(:rack_env, fetch(:rails_env, fetch(:stage))) }
|
7
7
|
set :sidekiq_log, -> { File.join(shared_path, 'log', 'sidekiq.log') }
|
8
8
|
set :sidekiq_timeout, 10
|
9
|
-
set :sidekiq_roles, :app
|
9
|
+
set :sidekiq_roles, fetch(:sidekiq_role, :app)
|
10
10
|
set :sidekiq_processes, 1
|
11
11
|
set :sidekiq_options_per_process, nil
|
12
12
|
set :sidekiq_user, nil
|
13
13
|
# Rbenv, Chruby, and RVM integration
|
14
|
-
set :rbenv_map_bins, fetch(:rbenv_map_bins).to_a.concat(%w
|
15
|
-
set :rvm_map_bins, fetch(:rvm_map_bins).to_a.concat(%w
|
16
|
-
set :chruby_map_bins, fetch(:chruby_map_bins).to_a.concat(%w
|
14
|
+
set :rbenv_map_bins, fetch(:rbenv_map_bins).to_a.concat(%w[sidekiq sidekiqctl])
|
15
|
+
set :rvm_map_bins, fetch(:rvm_map_bins).to_a.concat(%w[sidekiq sidekiqctl])
|
16
|
+
set :chruby_map_bins, fetch(:chruby_map_bins).to_a.concat(%w[sidekiq sidekiqctl])
|
17
17
|
# Bundler integration
|
18
|
-
set :bundle_bins, fetch(:bundle_bins).to_a.concat(%w
|
18
|
+
set :bundle_bins, fetch(:bundle_bins).to_a.concat(%w[sidekiq sidekiqctl])
|
19
|
+
# Init system integration
|
20
|
+
set :init_system, -> { nil }
|
21
|
+
# systemd integration
|
22
|
+
set :service_unit_name, "sidekiq-#{fetch(:stage)}.service"
|
19
23
|
end
|
20
24
|
end
|
21
25
|
|
@@ -26,6 +30,9 @@ namespace :deploy do
|
|
26
30
|
after :publishing, :restart_sidekiq do
|
27
31
|
invoke 'sidekiq:restart' if fetch(:sidekiq_default_hooks)
|
28
32
|
end
|
33
|
+
after :failed, :restart_sidekiq do
|
34
|
+
invoke 'sidekiq:restart' if fetch(:sidekiq_default_hooks)
|
35
|
+
end
|
29
36
|
end
|
30
37
|
|
31
38
|
namespace :sidekiq do
|
@@ -40,10 +47,15 @@ namespace :sidekiq do
|
|
40
47
|
task :quiet do
|
41
48
|
on roles fetch(:sidekiq_roles) do |role|
|
42
49
|
switch_user(role) do
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
50
|
+
case fetch(:init_system)
|
51
|
+
when :systemd
|
52
|
+
execute :systemctl, "--user", "reload", fetch(:service_unit_name), raise_on_non_zero_exit: false
|
53
|
+
else
|
54
|
+
if test("[ -d #{release_path} ]")
|
55
|
+
each_process_with_index(reverse: true) do |pid_file, _idx|
|
56
|
+
if pid_file_exists?(pid_file) && process_exists?(pid_file)
|
57
|
+
quiet_sidekiq(pid_file)
|
58
|
+
end
|
47
59
|
end
|
48
60
|
end
|
49
61
|
end
|
@@ -55,10 +67,15 @@ namespace :sidekiq do
|
|
55
67
|
task :stop do
|
56
68
|
on roles fetch(:sidekiq_roles) do |role|
|
57
69
|
switch_user(role) do
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
70
|
+
case fetch(:init_system)
|
71
|
+
when :systemd
|
72
|
+
execute :systemctl, "--user", "stop", fetch(:service_unit_name)
|
73
|
+
else
|
74
|
+
if test("[ -d #{release_path} ]")
|
75
|
+
each_process_with_index(reverse: true) do |pid_file, _idx|
|
76
|
+
if pid_file_exists?(pid_file) && process_exists?(pid_file)
|
77
|
+
stop_sidekiq(pid_file)
|
78
|
+
end
|
62
79
|
end
|
63
80
|
end
|
64
81
|
end
|
@@ -70,9 +87,14 @@ namespace :sidekiq do
|
|
70
87
|
task :start do
|
71
88
|
on roles fetch(:sidekiq_roles) do |role|
|
72
89
|
switch_user(role) do
|
73
|
-
|
74
|
-
|
75
|
-
|
90
|
+
case fetch(:init_system)
|
91
|
+
when :systemd
|
92
|
+
execute :systemctl, '--user', 'start', fetch(:service_unit_name)
|
93
|
+
else
|
94
|
+
each_process_with_index do |pid_file, idx|
|
95
|
+
unless pid_file_exists?(pid_file) && process_exists?(pid_file)
|
96
|
+
start_sidekiq(pid_file, idx)
|
97
|
+
end
|
76
98
|
end
|
77
99
|
end
|
78
100
|
end
|
@@ -89,7 +111,7 @@ namespace :sidekiq do
|
|
89
111
|
task :rolling_restart do
|
90
112
|
on roles fetch(:sidekiq_roles) do |role|
|
91
113
|
switch_user(role) do
|
92
|
-
each_process_with_index(true) do |pid_file, idx|
|
114
|
+
each_process_with_index(reverse: true) do |pid_file, idx|
|
93
115
|
if pid_file_exists?(pid_file) && process_exists?(pid_file)
|
94
116
|
stop_sidekiq(pid_file)
|
95
117
|
end
|
@@ -103,11 +125,10 @@ namespace :sidekiq do
|
|
103
125
|
task :cleanup do
|
104
126
|
on roles fetch(:sidekiq_roles) do |role|
|
105
127
|
switch_user(role) do
|
106
|
-
each_process_with_index do |pid_file,
|
128
|
+
each_process_with_index do |pid_file, _idx|
|
107
129
|
unless process_exists?(pid_file)
|
108
|
-
|
109
|
-
|
110
|
-
end
|
130
|
+
next unless pid_file_exists?(pid_file)
|
131
|
+
execute "rm #{pid_file}"
|
111
132
|
end
|
112
133
|
end
|
113
134
|
end
|
@@ -121,26 +142,71 @@ namespace :sidekiq do
|
|
121
142
|
on roles fetch(:sidekiq_roles) do |role|
|
122
143
|
switch_user(role) do
|
123
144
|
each_process_with_index do |pid_file, idx|
|
124
|
-
unless pid_file_exists?(pid_file)
|
125
|
-
|
126
|
-
|
145
|
+
start_sidekiq(pid_file, idx) unless pid_file_exists?(pid_file)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
task :install do
|
152
|
+
on roles fetch(:sidekiq_roles) do |role|
|
153
|
+
switch_user(role) do
|
154
|
+
case fetch(:init_system)
|
155
|
+
when :systemd
|
156
|
+
create_systemd_template
|
157
|
+
execute :systemctl, "--user", "enable", fetch(:service_unit_name)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
task :uninstall do
|
164
|
+
on roles fetch(:sidekiq_roles) do |role|
|
165
|
+
switch_user(role) do
|
166
|
+
case fetch(:init_system)
|
167
|
+
when :systemd
|
168
|
+
execute :systemctl, "--user", "disable", fetch(:service_unit_name)
|
169
|
+
execute :rm, File.join(fetch(:service_unit_path, fetch_systemd_unit_path),fetch(:service_unit_name))
|
127
170
|
end
|
128
171
|
end
|
129
172
|
end
|
130
173
|
end
|
131
174
|
|
132
175
|
def each_process_with_index(reverse: false)
|
133
|
-
|
134
|
-
|
135
|
-
|
176
|
+
pid_file_list = pid_files
|
177
|
+
pid_file_list.reverse! if reverse
|
178
|
+
pid_file_list.each_with_index do |pid_file, idx|
|
136
179
|
within release_path do
|
137
180
|
yield(pid_file, idx)
|
138
181
|
end
|
139
182
|
end
|
140
183
|
end
|
141
184
|
|
185
|
+
def fetch_systemd_unit_path
|
186
|
+
home_dir = capture :pwd
|
187
|
+
File.join(home_dir, ".config", "systemd", "user")
|
188
|
+
end
|
189
|
+
|
190
|
+
def create_systemd_template
|
191
|
+
search_paths = [
|
192
|
+
File.expand_path(
|
193
|
+
File.join(*%w[.. .. .. generators capistrano sidekiq systemd templates sidekiq.service.capistrano.erb]),
|
194
|
+
__FILE__
|
195
|
+
),
|
196
|
+
]
|
197
|
+
template_path = search_paths.detect {|path| File.file?(path)}
|
198
|
+
template = File.read(template_path)
|
199
|
+
systemd_path = fetch(:service_unit_path, fetch_systemd_unit_path)
|
200
|
+
execute :mkdir, "-p", systemd_path
|
201
|
+
upload!(
|
202
|
+
StringIO.new(ERB.new(template).result(binding)),
|
203
|
+
"#{systemd_path}/#{fetch :service_unit_name}"
|
204
|
+
)
|
205
|
+
execute :systemctl, "--user", "daemon-reload"
|
206
|
+
end
|
207
|
+
|
142
208
|
def pid_files
|
143
|
-
sidekiq_roles = Array(fetch(:sidekiq_roles))
|
209
|
+
sidekiq_roles = Array(fetch(:sidekiq_roles)).dup
|
144
210
|
sidekiq_roles.select! { |role| host.roles.include?(role) }
|
145
211
|
sidekiq_roles.flat_map do |role|
|
146
212
|
processes = fetch(:"#{ role }_processes") || fetch(:sidekiq_processes)
|
@@ -158,7 +224,7 @@ namespace :sidekiq do
|
|
158
224
|
|
159
225
|
def quiet_sidekiq(pid_file)
|
160
226
|
begin
|
161
|
-
execute :sidekiqctl, 'quiet',
|
227
|
+
execute :sidekiqctl, 'quiet', pid_file.to_s
|
162
228
|
rescue SSHKit::Command::Failed
|
163
229
|
# If gems are not installed (first deploy) and sidekiq_default_hooks is active
|
164
230
|
warn 'sidekiqctl not found (ignore if this is the first deploy)'
|
@@ -166,7 +232,7 @@ namespace :sidekiq do
|
|
166
232
|
end
|
167
233
|
|
168
234
|
def stop_sidekiq(pid_file)
|
169
|
-
execute :sidekiqctl, 'stop',
|
235
|
+
execute :sidekiqctl, 'stop', pid_file.to_s, fetch(:sidekiq_timeout)
|
170
236
|
end
|
171
237
|
|
172
238
|
def start_sidekiq(pid_file, idx = 0)
|
@@ -182,7 +248,7 @@ namespace :sidekiq do
|
|
182
248
|
end
|
183
249
|
args.push "--config #{fetch(:sidekiq_config)}" if fetch(:sidekiq_config)
|
184
250
|
args.push "--concurrency #{fetch(:sidekiq_concurrency)}" if fetch(:sidekiq_concurrency)
|
185
|
-
if process_options = fetch(:sidekiq_options_per_process)
|
251
|
+
if (process_options = fetch(:sidekiq_options_per_process))
|
186
252
|
args.push process_options[idx]
|
187
253
|
end
|
188
254
|
# use sidekiq_options for special options
|
@@ -198,13 +264,13 @@ namespace :sidekiq do
|
|
198
264
|
execute :sidekiq, args.compact.join(' ')
|
199
265
|
end
|
200
266
|
|
201
|
-
def switch_user(role
|
267
|
+
def switch_user(role)
|
202
268
|
su_user = sidekiq_user(role)
|
203
269
|
if su_user == role.user
|
204
|
-
|
270
|
+
yield
|
205
271
|
else
|
206
272
|
as su_user do
|
207
|
-
|
273
|
+
yield
|
208
274
|
end
|
209
275
|
end
|
210
276
|
end
|
@@ -212,8 +278,8 @@ namespace :sidekiq do
|
|
212
278
|
def sidekiq_user(role)
|
213
279
|
properties = role.properties
|
214
280
|
properties.fetch(:sidekiq_user) || # local property for sidekiq only
|
215
|
-
|
216
|
-
|
217
|
-
|
281
|
+
fetch(:sidekiq_user) ||
|
282
|
+
properties.fetch(:run_as) || # global property across multiple capistrano gems
|
283
|
+
role.user
|
218
284
|
end
|
219
285
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[Unit]
|
2
|
+
Description=sidekiq for <%= "#{fetch(:application)} (#{fetch(:stage)})" %>
|
3
|
+
After=syslog.target network.target
|
4
|
+
|
5
|
+
[Service]
|
6
|
+
Type=simple
|
7
|
+
Environment=RAILS_ENV=<%= fetch(:rails_env) %>
|
8
|
+
WorkingDirectory=<%= fetch(:deploy_to) %>/current
|
9
|
+
ExecStart=<%= fetch(:bundler_path, '/usr/local/bin/bundler') %> exec sidekiq -e <%= fetch(:rails_env) %>
|
10
|
+
ExecReload=/bin/kill -TSTP $MAINPID
|
11
|
+
ExecStop=/bin/kill -TERM $MAINPID
|
12
|
+
|
13
|
+
RestartSec=1
|
14
|
+
Restart=on-failure
|
15
|
+
|
16
|
+
SyslogIdentifier=sidekiq
|
17
|
+
|
18
|
+
[Install]
|
19
|
+
WantedBy=default.target
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdelkader Boudih
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- lib/capistrano/tasks/sidekiq.rake
|
62
62
|
- lib/generators/capistrano/sidekiq/monit/template_generator.rb
|
63
63
|
- lib/generators/capistrano/sidekiq/monit/templates/sidekiq_monit.conf.erb
|
64
|
+
- lib/generators/capistrano/sidekiq/systemd/templates/sidekiq.service.capistrano.erb
|
64
65
|
homepage: https://github.com/seuros/capistrano-sidekiq
|
65
66
|
licenses:
|
66
67
|
- LGPL-3.0
|
@@ -81,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
82
|
version: '0'
|
82
83
|
requirements: []
|
83
84
|
rubyforge_project:
|
84
|
-
rubygems_version: 2.6.
|
85
|
+
rubygems_version: 2.6.14
|
85
86
|
signing_key:
|
86
87
|
specification_version: 4
|
87
88
|
summary: Sidekiq integration for Capistrano
|