sidekiq 5.2.9 → 6.4.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Changes.md +318 -1
- data/LICENSE +3 -3
- data/README.md +23 -34
- data/bin/sidekiq +27 -3
- data/bin/sidekiqload +67 -61
- data/bin/sidekiqmon +8 -0
- data/lib/generators/sidekiq/job_generator.rb +57 -0
- data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
- data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
- data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
- data/lib/sidekiq/api.rb +335 -267
- data/lib/sidekiq/cli.rb +164 -182
- data/lib/sidekiq/client.rb +58 -61
- data/lib/sidekiq/delay.rb +7 -6
- data/lib/sidekiq/exception_handler.rb +10 -12
- data/lib/sidekiq/extensions/action_mailer.rb +13 -22
- data/lib/sidekiq/extensions/active_record.rb +13 -10
- data/lib/sidekiq/extensions/class_methods.rb +14 -11
- data/lib/sidekiq/extensions/generic_proxy.rb +6 -4
- data/lib/sidekiq/fetch.rb +40 -32
- data/lib/sidekiq/job.rb +13 -0
- data/lib/sidekiq/job_logger.rb +33 -7
- data/lib/sidekiq/job_retry.rb +70 -71
- data/lib/sidekiq/job_util.rb +65 -0
- data/lib/sidekiq/launcher.rb +161 -71
- data/lib/sidekiq/logger.rb +170 -0
- data/lib/sidekiq/manager.rb +17 -21
- data/lib/sidekiq/middleware/chain.rb +20 -8
- data/lib/sidekiq/middleware/current_attributes.rb +57 -0
- data/lib/sidekiq/middleware/i18n.rb +5 -7
- data/lib/sidekiq/monitor.rb +133 -0
- data/lib/sidekiq/paginator.rb +20 -16
- data/lib/sidekiq/processor.rb +71 -70
- data/lib/sidekiq/rails.rb +40 -37
- data/lib/sidekiq/redis_connection.rb +48 -48
- data/lib/sidekiq/scheduled.rb +62 -28
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +24 -0
- data/lib/sidekiq/testing/inline.rb +2 -1
- data/lib/sidekiq/testing.rb +36 -27
- data/lib/sidekiq/util.rb +57 -15
- data/lib/sidekiq/version.rb +2 -1
- data/lib/sidekiq/web/action.rb +15 -11
- data/lib/sidekiq/web/application.rb +88 -75
- data/lib/sidekiq/web/csrf_protection.rb +180 -0
- data/lib/sidekiq/web/helpers.rb +109 -92
- data/lib/sidekiq/web/router.rb +23 -19
- data/lib/sidekiq/web.rb +61 -105
- data/lib/sidekiq/worker.rb +247 -105
- data/lib/sidekiq.rb +77 -44
- data/sidekiq.gemspec +23 -16
- data/web/assets/images/apple-touch-icon.png +0 -0
- data/web/assets/javascripts/application.js +83 -64
- data/web/assets/javascripts/dashboard.js +54 -73
- data/web/assets/stylesheets/application-dark.css +143 -0
- data/web/assets/stylesheets/application-rtl.css +0 -4
- data/web/assets/stylesheets/application.css +45 -232
- data/web/locales/ar.yml +8 -2
- data/web/locales/de.yml +14 -2
- data/web/locales/en.yml +6 -1
- data/web/locales/es.yml +18 -2
- data/web/locales/fr.yml +10 -3
- data/web/locales/ja.yml +7 -1
- data/web/locales/lt.yml +83 -0
- data/web/locales/pl.yml +4 -4
- data/web/locales/ru.yml +4 -0
- data/web/locales/vi.yml +83 -0
- data/web/views/_footer.erb +1 -1
- data/web/views/_job_info.erb +3 -2
- data/web/views/_poll_link.erb +2 -5
- data/web/views/_summary.erb +7 -7
- data/web/views/busy.erb +54 -20
- data/web/views/dashboard.erb +22 -14
- data/web/views/dead.erb +3 -3
- data/web/views/layout.erb +3 -1
- data/web/views/morgue.erb +9 -6
- data/web/views/queue.erb +19 -10
- data/web/views/queues.erb +10 -2
- data/web/views/retries.erb +11 -8
- data/web/views/retry.erb +3 -3
- data/web/views/scheduled.erb +5 -2
- metadata +34 -64
- data/.circleci/config.yml +0 -61
- data/.github/contributing.md +0 -32
- data/.github/issue_template.md +0 -11
- data/.gitignore +0 -15
- data/.travis.yml +0 -11
- data/3.0-Upgrade.md +0 -70
- data/4.0-Upgrade.md +0 -53
- data/5.0-Upgrade.md +0 -56
- data/COMM-LICENSE +0 -97
- data/Ent-Changes.md +0 -238
- data/Gemfile +0 -23
- data/Pro-2.0-Upgrade.md +0 -138
- data/Pro-3.0-Upgrade.md +0 -44
- data/Pro-4.0-Upgrade.md +0 -35
- data/Pro-Changes.md +0 -759
- data/Rakefile +0 -9
- data/bin/sidekiqctl +0 -20
- data/code_of_conduct.md +0 -50
- data/lib/generators/sidekiq/worker_generator.rb +0 -49
- data/lib/sidekiq/core_ext.rb +0 -1
- data/lib/sidekiq/ctl.rb +0 -221
- data/lib/sidekiq/logging.rb +0 -122
- data/lib/sidekiq/middleware/server/active_record.rb +0 -23
data/web/views/morgue.erb
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<form action="<%= root_path %>morgue" method="post">
|
15
15
|
<%= csrf_tag %>
|
16
16
|
<div class="table_container">
|
17
|
-
<table class="table table-striped table-bordered table-
|
17
|
+
<table class="table table-striped table-bordered table-hover">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
20
|
<th class="table-checkbox checkbox-column">
|
@@ -42,7 +42,10 @@
|
|
42
42
|
<td>
|
43
43
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
44
44
|
</td>
|
45
|
-
<td
|
45
|
+
<td>
|
46
|
+
<%= entry.display_class %>
|
47
|
+
<%= display_tags(entry, "dead") %>
|
48
|
+
</td>
|
46
49
|
<td>
|
47
50
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
48
51
|
</td>
|
@@ -55,18 +58,18 @@
|
|
55
58
|
<% end %>
|
56
59
|
</table>
|
57
60
|
</div>
|
58
|
-
<input class="btn btn-primary
|
59
|
-
<input class="btn btn-danger
|
61
|
+
<input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
62
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
60
63
|
</form>
|
61
64
|
|
62
65
|
<% unfiltered? do %>
|
63
66
|
<form action="<%= root_path %>morgue/all/delete" method="post">
|
64
67
|
<%= csrf_tag %>
|
65
|
-
<input class="btn btn-danger
|
68
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
66
69
|
</form>
|
67
70
|
<form action="<%= root_path %>morgue/all/retry" method="post">
|
68
71
|
<%= csrf_tag %>
|
69
|
-
<input class="btn btn-danger
|
72
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
70
73
|
</form>
|
71
74
|
<% end %>
|
72
75
|
|
data/web/views/queue.erb
CHANGED
@@ -15,27 +15,36 @@
|
|
15
15
|
<div class="table_container">
|
16
16
|
<table class="queue table table-hover table-bordered table-striped">
|
17
17
|
<thead>
|
18
|
+
<th><a href="<%= url %>?direction=<%= params[:direction] == 'asc' ? 'desc' : 'asc' %>"># <%= sort_direction_label %></a></th>
|
18
19
|
<th><%= t('Job') %></th>
|
19
20
|
<th><%= t('Arguments') %></th>
|
20
21
|
<th></th>
|
21
22
|
</thead>
|
22
|
-
<% @
|
23
|
-
<tr>
|
24
|
-
|
23
|
+
<% @jobs.each_with_index do |job, index| %>
|
24
|
+
<tr title="<%= job.jid %>">
|
25
|
+
<% if params[:direction] == 'asc' %>
|
26
|
+
<td><%= @count * (@current_page - 1) + index + 1 %></td>
|
27
|
+
<% else %>
|
28
|
+
<td><%= @total_size - (@count * (@current_page - 1) + index) %></td>
|
29
|
+
<% end %>
|
25
30
|
<td>
|
26
|
-
|
31
|
+
<%= h(job.display_class) %>
|
32
|
+
<%= display_tags(job, nil) %>
|
33
|
+
</td>
|
34
|
+
<td>
|
35
|
+
<% a = job.display_args %>
|
27
36
|
<% if a.inspect.size > 100 %>
|
28
|
-
<span
|
29
|
-
<button data-toggle="
|
30
|
-
<div class="toggle
|
37
|
+
<span id="job_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
|
38
|
+
<button data-toggle="job_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
|
39
|
+
<div class="toggle" id="job_<%= index %>_full"><%= display_args(a) %></div>
|
31
40
|
<% else %>
|
32
|
-
<%= display_args(
|
41
|
+
<%= display_args(job.display_args) %>
|
33
42
|
<% end %>
|
34
43
|
</td>
|
35
44
|
<td>
|
36
45
|
<form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
|
37
46
|
<%= csrf_tag %>
|
38
|
-
<input name="key_val" value="<%= h
|
47
|
+
<input name="key_val" value="<%= h job.value %>" type="hidden" />
|
39
48
|
<input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
|
40
49
|
</form>
|
41
50
|
</td>
|
@@ -43,4 +52,4 @@
|
|
43
52
|
<% end %>
|
44
53
|
</table>
|
45
54
|
</div>
|
46
|
-
<%= erb :_paging, locals: { url: "#{root_path}queues/#{@name}" } %>
|
55
|
+
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
data/web/views/queues.erb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<h3><%= t('Queues') %></h3>
|
2
2
|
|
3
3
|
<div class="table_container">
|
4
|
-
<table class="queues table table-hover table-bordered table-striped
|
4
|
+
<table class="queues table table-hover table-bordered table-striped">
|
5
5
|
<thead>
|
6
6
|
<th><%= t('Queue') %></th>
|
7
7
|
<th><%= t('Size') %></th>
|
@@ -21,7 +21,15 @@
|
|
21
21
|
<td class="delete-confirm">
|
22
22
|
<form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
23
23
|
<%= csrf_tag %>
|
24
|
-
<input class="btn btn-danger
|
24
|
+
<input class="btn btn-danger" type="submit" name="delete" title="This will delete all jobs within the queue, it will reappear if you push more jobs to it in the future." value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
|
25
|
+
|
26
|
+
<% if Sidekiq.pro? %>
|
27
|
+
<% if queue.paused? %>
|
28
|
+
<input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>" />
|
29
|
+
<% else %>
|
30
|
+
<input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>" />
|
31
|
+
<% end %>
|
32
|
+
<% end %>
|
25
33
|
</form>
|
26
34
|
</td>
|
27
35
|
</tr>
|
data/web/views/retries.erb
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<form action="<%= root_path %>retries" method="post">
|
15
15
|
<%= csrf_tag %>
|
16
16
|
<div class="table_container">
|
17
|
-
<table class="table table-striped table-bordered table-
|
17
|
+
<table class="table table-striped table-bordered table-hover">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
20
|
<th class="table-checkbox checkbox-column">
|
@@ -44,7 +44,10 @@
|
|
44
44
|
<td>
|
45
45
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
46
46
|
</td>
|
47
|
-
<td
|
47
|
+
<td>
|
48
|
+
<%= entry.display_class %>
|
49
|
+
<%= display_tags(entry, "retries") %>
|
50
|
+
</td>
|
48
51
|
<td>
|
49
52
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
50
53
|
</td>
|
@@ -55,23 +58,23 @@
|
|
55
58
|
<% end %>
|
56
59
|
</table>
|
57
60
|
</div>
|
58
|
-
<input class="btn btn-primary
|
59
|
-
<input class="btn btn-danger
|
60
|
-
<input class="btn btn-danger
|
61
|
+
<input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
62
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
63
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
|
61
64
|
</form>
|
62
65
|
|
63
66
|
<% unfiltered? do %>
|
64
67
|
<form action="<%= root_path %>retries/all/delete" method="post">
|
65
68
|
<%= csrf_tag %>
|
66
|
-
<input class="btn btn-danger
|
69
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
67
70
|
</form>
|
68
71
|
<form action="<%= root_path %>retries/all/retry" method="post">
|
69
72
|
<%= csrf_tag %>
|
70
|
-
<input class="btn btn-danger
|
73
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
71
74
|
</form>
|
72
75
|
<form action="<%= root_path %>retries/all/kill" method="post">
|
73
76
|
<%= csrf_tag %>
|
74
|
-
<input class="btn btn-danger
|
77
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
75
78
|
</form>
|
76
79
|
<% end %>
|
77
80
|
|
data/web/views/retry.erb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<h3><%= t('Error') %></h3>
|
4
4
|
<div class="table_container">
|
5
|
-
<table class="error table table-bordered table-striped">
|
5
|
+
<table class="error table table-bordered table-striped table-hover">
|
6
6
|
<tbody>
|
7
7
|
<tr>
|
8
8
|
<th><%= t('ErrorClass') %></th>
|
@@ -14,11 +14,11 @@
|
|
14
14
|
<th><%= t('ErrorMessage') %></th>
|
15
15
|
<td><%= h(@retry['error_message']) %></td>
|
16
16
|
</tr>
|
17
|
-
<% if
|
17
|
+
<% if @retry.error_backtrace %>
|
18
18
|
<tr>
|
19
19
|
<th><%= t('ErrorBacktrace') %></th>
|
20
20
|
<td>
|
21
|
-
<code><%= @retry
|
21
|
+
<code><%= @retry.error_backtrace.join("<br/>") %></code>
|
22
22
|
</td>
|
23
23
|
</tr>
|
24
24
|
<% end %>
|
data/web/views/scheduled.erb
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
<form action="<%= root_path %>scheduled" method="post">
|
16
16
|
<%= csrf_tag %>
|
17
17
|
<div class="table_container">
|
18
|
-
<table class="table table-striped table-bordered table-
|
18
|
+
<table class="table table-striped table-bordered table-hover">
|
19
19
|
<thead>
|
20
20
|
<tr>
|
21
21
|
<th class="checkbox-column">
|
@@ -38,7 +38,10 @@
|
|
38
38
|
<td>
|
39
39
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
40
40
|
</td>
|
41
|
-
<td
|
41
|
+
<td>
|
42
|
+
<%= entry.display_class %>
|
43
|
+
<%= display_tags(entry, "scheduled") %>
|
44
|
+
</td>
|
42
45
|
<td>
|
43
46
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
44
47
|
</td>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Perham
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -16,27 +16,18 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '4.2'
|
19
|
+
version: 4.2.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '4.2'
|
26
|
+
version: 4.2.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: connection_pool
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '2.2'
|
40
31
|
- - ">="
|
41
32
|
- !ruby/object:Gem::Version
|
42
33
|
version: 2.2.2
|
@@ -44,9 +35,6 @@ dependencies:
|
|
44
35
|
prerelease: false
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
46
37
|
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '2.2'
|
50
38
|
- - ">="
|
51
39
|
- !ruby/object:Gem::Version
|
52
40
|
version: 2.2.2
|
@@ -64,62 +52,29 @@ dependencies:
|
|
64
52
|
- - "~>"
|
65
53
|
- !ruby/object:Gem::Version
|
66
54
|
version: '2.0'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: rack-protection
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 1.5.0
|
74
|
-
type: :runtime
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 1.5.0
|
81
55
|
description: Simple, efficient background processing for Ruby.
|
82
56
|
email:
|
83
57
|
- mperham@gmail.com
|
84
58
|
executables:
|
85
59
|
- sidekiq
|
86
|
-
-
|
60
|
+
- sidekiqmon
|
87
61
|
extensions: []
|
88
62
|
extra_rdoc_files: []
|
89
63
|
files:
|
90
|
-
- ".circleci/config.yml"
|
91
|
-
- ".github/contributing.md"
|
92
|
-
- ".github/issue_template.md"
|
93
|
-
- ".gitignore"
|
94
|
-
- ".travis.yml"
|
95
|
-
- 3.0-Upgrade.md
|
96
|
-
- 4.0-Upgrade.md
|
97
|
-
- 5.0-Upgrade.md
|
98
|
-
- COMM-LICENSE
|
99
64
|
- Changes.md
|
100
|
-
- Ent-Changes.md
|
101
|
-
- Gemfile
|
102
65
|
- LICENSE
|
103
|
-
- Pro-2.0-Upgrade.md
|
104
|
-
- Pro-3.0-Upgrade.md
|
105
|
-
- Pro-4.0-Upgrade.md
|
106
|
-
- Pro-Changes.md
|
107
66
|
- README.md
|
108
|
-
- Rakefile
|
109
67
|
- bin/sidekiq
|
110
|
-
- bin/sidekiqctl
|
111
68
|
- bin/sidekiqload
|
112
|
-
-
|
113
|
-
- lib/generators/sidekiq/
|
114
|
-
- lib/generators/sidekiq/templates/
|
115
|
-
- lib/generators/sidekiq/templates/
|
116
|
-
- lib/generators/sidekiq/
|
69
|
+
- bin/sidekiqmon
|
70
|
+
- lib/generators/sidekiq/job_generator.rb
|
71
|
+
- lib/generators/sidekiq/templates/job.rb.erb
|
72
|
+
- lib/generators/sidekiq/templates/job_spec.rb.erb
|
73
|
+
- lib/generators/sidekiq/templates/job_test.rb.erb
|
117
74
|
- lib/sidekiq.rb
|
118
75
|
- lib/sidekiq/api.rb
|
119
76
|
- lib/sidekiq/cli.rb
|
120
77
|
- lib/sidekiq/client.rb
|
121
|
-
- lib/sidekiq/core_ext.rb
|
122
|
-
- lib/sidekiq/ctl.rb
|
123
78
|
- lib/sidekiq/delay.rb
|
124
79
|
- lib/sidekiq/exception_handler.rb
|
125
80
|
- lib/sidekiq/extensions/action_mailer.rb
|
@@ -127,19 +82,24 @@ files:
|
|
127
82
|
- lib/sidekiq/extensions/class_methods.rb
|
128
83
|
- lib/sidekiq/extensions/generic_proxy.rb
|
129
84
|
- lib/sidekiq/fetch.rb
|
85
|
+
- lib/sidekiq/job.rb
|
130
86
|
- lib/sidekiq/job_logger.rb
|
131
87
|
- lib/sidekiq/job_retry.rb
|
88
|
+
- lib/sidekiq/job_util.rb
|
132
89
|
- lib/sidekiq/launcher.rb
|
133
|
-
- lib/sidekiq/
|
90
|
+
- lib/sidekiq/logger.rb
|
134
91
|
- lib/sidekiq/manager.rb
|
135
92
|
- lib/sidekiq/middleware/chain.rb
|
93
|
+
- lib/sidekiq/middleware/current_attributes.rb
|
136
94
|
- lib/sidekiq/middleware/i18n.rb
|
137
|
-
- lib/sidekiq/
|
95
|
+
- lib/sidekiq/monitor.rb
|
138
96
|
- lib/sidekiq/paginator.rb
|
139
97
|
- lib/sidekiq/processor.rb
|
140
98
|
- lib/sidekiq/rails.rb
|
141
99
|
- lib/sidekiq/redis_connection.rb
|
142
100
|
- lib/sidekiq/scheduled.rb
|
101
|
+
- lib/sidekiq/sd_notify.rb
|
102
|
+
- lib/sidekiq/systemd.rb
|
143
103
|
- lib/sidekiq/testing.rb
|
144
104
|
- lib/sidekiq/testing/inline.rb
|
145
105
|
- lib/sidekiq/util.rb
|
@@ -147,15 +107,18 @@ files:
|
|
147
107
|
- lib/sidekiq/web.rb
|
148
108
|
- lib/sidekiq/web/action.rb
|
149
109
|
- lib/sidekiq/web/application.rb
|
110
|
+
- lib/sidekiq/web/csrf_protection.rb
|
150
111
|
- lib/sidekiq/web/helpers.rb
|
151
112
|
- lib/sidekiq/web/router.rb
|
152
113
|
- lib/sidekiq/worker.rb
|
153
114
|
- sidekiq.gemspec
|
115
|
+
- web/assets/images/apple-touch-icon.png
|
154
116
|
- web/assets/images/favicon.ico
|
155
117
|
- web/assets/images/logo.png
|
156
118
|
- web/assets/images/status.png
|
157
119
|
- web/assets/javascripts/application.js
|
158
120
|
- web/assets/javascripts/dashboard.js
|
121
|
+
- web/assets/stylesheets/application-dark.css
|
159
122
|
- web/assets/stylesheets/application-rtl.css
|
160
123
|
- web/assets/stylesheets/application.css
|
161
124
|
- web/assets/stylesheets/bootstrap-rtl.min.css
|
@@ -174,6 +137,7 @@ files:
|
|
174
137
|
- web/locales/it.yml
|
175
138
|
- web/locales/ja.yml
|
176
139
|
- web/locales/ko.yml
|
140
|
+
- web/locales/lt.yml
|
177
141
|
- web/locales/nb.yml
|
178
142
|
- web/locales/nl.yml
|
179
143
|
- web/locales/pl.yml
|
@@ -184,6 +148,7 @@ files:
|
|
184
148
|
- web/locales/ta.yml
|
185
149
|
- web/locales/uk.yml
|
186
150
|
- web/locales/ur.yml
|
151
|
+
- web/locales/vi.yml
|
187
152
|
- web/locales/zh-cn.yml
|
188
153
|
- web/locales/zh-tw.yml
|
189
154
|
- web/views/_footer.erb
|
@@ -204,11 +169,16 @@ files:
|
|
204
169
|
- web/views/retry.erb
|
205
170
|
- web/views/scheduled.erb
|
206
171
|
- web/views/scheduled_job_info.erb
|
207
|
-
homepage:
|
172
|
+
homepage: https://sidekiq.org
|
208
173
|
licenses:
|
209
174
|
- LGPL-3.0
|
210
|
-
metadata:
|
211
|
-
|
175
|
+
metadata:
|
176
|
+
homepage_uri: https://sidekiq.org
|
177
|
+
bug_tracker_uri: https://github.com/mperham/sidekiq/issues
|
178
|
+
documentation_uri: https://github.com/mperham/sidekiq/wiki
|
179
|
+
changelog_uri: https://github.com/mperham/sidekiq/blob/main/Changes.md
|
180
|
+
source_code_uri: https://github.com/mperham/sidekiq
|
181
|
+
post_install_message:
|
212
182
|
rdoc_options: []
|
213
183
|
require_paths:
|
214
184
|
- lib
|
@@ -216,15 +186,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
186
|
requirements:
|
217
187
|
- - ">="
|
218
188
|
- !ruby/object:Gem::Version
|
219
|
-
version: 2.
|
189
|
+
version: 2.5.0
|
220
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
191
|
requirements:
|
222
192
|
- - ">="
|
223
193
|
- !ruby/object:Gem::Version
|
224
194
|
version: '0'
|
225
195
|
requirements: []
|
226
|
-
rubygems_version: 3.
|
227
|
-
signing_key:
|
196
|
+
rubygems_version: 3.2.32
|
197
|
+
signing_key:
|
228
198
|
specification_version: 4
|
229
199
|
summary: Simple, efficient background processing for Ruby
|
230
200
|
test_files: []
|
data/.circleci/config.yml
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
version: 2
|
2
|
-
references:
|
3
|
-
unit: &unit
|
4
|
-
run:
|
5
|
-
name: Run test suite
|
6
|
-
command: bundle exec rake
|
7
|
-
restore: &restore
|
8
|
-
restore_cache:
|
9
|
-
keys:
|
10
|
-
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
11
|
-
# fallback to using the latest cache if no exact match is found
|
12
|
-
- v1-dependencies-
|
13
|
-
bundle: &bundle
|
14
|
-
run:
|
15
|
-
name: install dependencies
|
16
|
-
command: |
|
17
|
-
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
18
|
-
save: &save
|
19
|
-
save_cache:
|
20
|
-
paths:
|
21
|
-
- ./vendor/bundle
|
22
|
-
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
23
|
-
jobs:
|
24
|
-
"ruby-2.5":
|
25
|
-
docker:
|
26
|
-
- image: circleci/ruby:2.5
|
27
|
-
- image: circleci/redis:4.0
|
28
|
-
steps:
|
29
|
-
- checkout
|
30
|
-
- <<: *restore
|
31
|
-
- <<: *bundle
|
32
|
-
- <<: *save
|
33
|
-
- <<: *unit
|
34
|
-
"ruby-2.6":
|
35
|
-
docker:
|
36
|
-
- image: circleci/ruby:2.6
|
37
|
-
- image: circleci/redis:4.0
|
38
|
-
steps:
|
39
|
-
- checkout
|
40
|
-
- <<: *restore
|
41
|
-
- <<: *bundle
|
42
|
-
- <<: *save
|
43
|
-
- <<: *unit
|
44
|
-
"jruby":
|
45
|
-
docker:
|
46
|
-
- image: circleci/jruby:latest
|
47
|
-
- image: circleci/redis:4.0
|
48
|
-
steps:
|
49
|
-
- checkout
|
50
|
-
- <<: *restore
|
51
|
-
- <<: *bundle
|
52
|
-
- <<: *save
|
53
|
-
- <<: *unit
|
54
|
-
|
55
|
-
workflows:
|
56
|
-
version: 2
|
57
|
-
build:
|
58
|
-
jobs:
|
59
|
-
- "ruby-2.5"
|
60
|
-
- "ruby-2.6"
|
61
|
-
- "jruby"
|
data/.github/contributing.md
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
## Issues
|
4
|
-
|
5
|
-
When opening an issue:
|
6
|
-
|
7
|
-
* include the full **backtrace** with your error
|
8
|
-
* include your Sidekiq initializer
|
9
|
-
* list versions you are using: Ruby, Rails, Sidekiq, OS, etc.
|
10
|
-
|
11
|
-
It's always better to include more info rather than less.
|
12
|
-
|
13
|
-
## Code
|
14
|
-
|
15
|
-
It's always best to open an issue before investing a lot of time into a
|
16
|
-
fix or new functionality. Functionality must meet my design goals and
|
17
|
-
vision for the project to be accepted; I would be happy to discuss how
|
18
|
-
your idea can best fit into Sidekiq.
|
19
|
-
|
20
|
-
## Legal
|
21
|
-
|
22
|
-
By submitting a Pull Request, you disavow any rights or claims to any changes
|
23
|
-
submitted to the Sidekiq project and assign the copyright of
|
24
|
-
those changes to Contributed Systems LLC.
|
25
|
-
|
26
|
-
If you cannot or do not want to reassign those rights (your employment
|
27
|
-
contract for your employer may not allow this), you should not submit a PR.
|
28
|
-
Open an issue and someone else can do the work.
|
29
|
-
|
30
|
-
This is a legal way of saying "If you submit a PR to us, that code becomes ours".
|
31
|
-
99.9% of the time that's what you intend anyways; we hope it doesn't scare you
|
32
|
-
away from contributing.
|
data/.github/issue_template.md
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
Ruby version:
|
2
|
-
Sidekiq / Pro / Enterprise version(s):
|
3
|
-
|
4
|
-
Please include your initializer and any error message with the full backtrace.
|
5
|
-
|
6
|
-
Are you using an old version?
|
7
|
-
Have you checked the changelogs to see if your issue has been fixed in a later version?
|
8
|
-
|
9
|
-
https://github.com/mperham/sidekiq/blob/master/Changes.md
|
10
|
-
https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md
|
11
|
-
https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
data/3.0-Upgrade.md
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
# Upgrading to Sidekiq 3.0
|
2
|
-
|
3
|
-
Sidekiq 3.0 brings several new features but also removes old APIs and
|
4
|
-
changes a few data elements in Redis. To upgrade cleanly:
|
5
|
-
|
6
|
-
* Upgrade to the latest Sidekiq 2.x and run it for a few weeks.
|
7
|
-
`gem 'sidekiq', '< 3'`
|
8
|
-
This is only needed if you have retries pending.
|
9
|
-
* 3rd party gems which use **client-side middleware** will need to update
|
10
|
-
due to an API change. The Redis connection for a particular job is
|
11
|
-
passed thru the middleware to handle sharding where jobs can
|
12
|
-
be pushed to different redis server instances.
|
13
|
-
|
14
|
-
`def call(worker_class, msg, queue, redis_pool)`
|
15
|
-
|
16
|
-
Client-side middleware should use `redis_pool.with { |conn| ... }` to
|
17
|
-
perform Redis operations and **not** `Sidekiq.redis`.
|
18
|
-
* If you used the capistrano integration, you'll need to pull in the
|
19
|
-
new [capistrano-sidekiq](https://github.com/seuros/capistrano-sidekiq)
|
20
|
-
gem and use it in your deploy.rb.
|
21
|
-
* API changes:
|
22
|
-
- `Sidekiq::Client.registered_workers` replaced by `Sidekiq::Workers.new`
|
23
|
-
- `Sidekiq::Client.registered_queues` replaced by `Sidekiq::Queue.all`
|
24
|
-
- `Sidekiq::Worker#retries_exhausted` replaced by `Sidekiq::Worker.sidekiq_retries_exhausted`
|
25
|
-
- `Sidekiq::Workers#each` has changed significantly with a reworking
|
26
|
-
of Sidekiq's internal process/thread data model.
|
27
|
-
* `sidekiq/api` is no longer automatically required. If your code uses
|
28
|
-
the API, you will need to require it.
|
29
|
-
* Redis-to-Go is no longer transparently activated on Heroku so as to not play
|
30
|
-
favorites with any particular Redis service. You need to set a config option
|
31
|
-
for your app:
|
32
|
-
`heroku config:set REDIS_PROVIDER=REDISTOGO_URL`. You may also use
|
33
|
-
the generic `REDIS_URL`. See
|
34
|
-
[Advanced Options: Setting the Location of your Redis server][1]
|
35
|
-
for details.
|
36
|
-
* Anyone using Airbrake, Honeybadger, Exceptional or ExceptionNotifier
|
37
|
-
will need to update their error gem version to the latest to pull in
|
38
|
-
Sidekiq support. Sidekiq will not provide explicit support for these
|
39
|
-
services so as to not play favorites with any particular error service.
|
40
|
-
* MRI 1.9 is no longer officially supported. Sidekiq's official
|
41
|
-
support policy is to support the current and previous major releases
|
42
|
-
of MRI and Rails. As of February 2014, that's MRI 2.1, MRI 2.0, JRuby 1.7, Rails 4.0
|
43
|
-
and Rails 3.2. I will consider PRs to fix issues found by users for
|
44
|
-
other platforms/versions.
|
45
|
-
|
46
|
-
## Error Service Providers
|
47
|
-
|
48
|
-
If you previously provided a middleware to capture job errors, you
|
49
|
-
should instead provide a global error handler with Sidekiq 3.0. This
|
50
|
-
ensures **any** error within Sidekiq will be logged appropriately, not
|
51
|
-
just during job execution.
|
52
|
-
|
53
|
-
```ruby
|
54
|
-
if Sidekiq::VERSION < '3'
|
55
|
-
# old behavior
|
56
|
-
Sidekiq.configure_server do |config|
|
57
|
-
config.server_middleware do |chain|
|
58
|
-
chain.add MyErrorService::Middleware
|
59
|
-
end
|
60
|
-
end
|
61
|
-
else
|
62
|
-
Sidekiq.configure_server do |config|
|
63
|
-
config.error_handlers << proc {|ex,context| MyErrorService.notify(ex, context) }
|
64
|
-
end
|
65
|
-
end
|
66
|
-
```
|
67
|
-
|
68
|
-
Your error handler must respond to `call(exception, context_hash)`.
|
69
|
-
|
70
|
-
[1]: https://github.com/mperham/sidekiq/wiki/Advanced-Options#via-env-variable
|