sidekiq 5.2.7 → 8.0.5
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 +4 -4
- data/Changes.md +845 -8
- data/LICENSE.txt +9 -0
- data/README.md +54 -54
- data/bin/multi_queue_bench +271 -0
- data/bin/sidekiq +22 -3
- data/bin/sidekiqload +219 -112
- data/bin/sidekiqmon +11 -0
- data/bin/webload +69 -0
- data/lib/active_job/queue_adapters/sidekiq_adapter.rb +120 -0
- data/lib/generators/sidekiq/job_generator.rb +59 -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 +757 -373
- data/lib/sidekiq/capsule.rb +132 -0
- data/lib/sidekiq/cli.rb +210 -233
- data/lib/sidekiq/client.rb +145 -103
- data/lib/sidekiq/component.rb +128 -0
- data/lib/sidekiq/config.rb +315 -0
- data/lib/sidekiq/deploy.rb +64 -0
- data/lib/sidekiq/embedded.rb +64 -0
- data/lib/sidekiq/fetch.rb +49 -42
- data/lib/sidekiq/iterable_job.rb +56 -0
- data/lib/sidekiq/job/interrupt_handler.rb +24 -0
- data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
- data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
- data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
- data/lib/sidekiq/job/iterable.rb +306 -0
- data/lib/sidekiq/job.rb +385 -0
- data/lib/sidekiq/job_logger.rb +34 -7
- data/lib/sidekiq/job_retry.rb +164 -109
- data/lib/sidekiq/job_util.rb +113 -0
- data/lib/sidekiq/launcher.rb +208 -107
- data/lib/sidekiq/logger.rb +80 -0
- data/lib/sidekiq/manager.rb +42 -46
- data/lib/sidekiq/metrics/query.rb +184 -0
- data/lib/sidekiq/metrics/shared.rb +109 -0
- data/lib/sidekiq/metrics/tracking.rb +150 -0
- data/lib/sidekiq/middleware/chain.rb +113 -56
- data/lib/sidekiq/middleware/current_attributes.rb +119 -0
- data/lib/sidekiq/middleware/i18n.rb +7 -7
- data/lib/sidekiq/middleware/modules.rb +23 -0
- data/lib/sidekiq/monitor.rb +147 -0
- data/lib/sidekiq/paginator.rb +41 -16
- data/lib/sidekiq/processor.rb +146 -127
- data/lib/sidekiq/profiler.rb +72 -0
- data/lib/sidekiq/rails.rb +46 -43
- data/lib/sidekiq/redis_client_adapter.rb +113 -0
- data/lib/sidekiq/redis_connection.rb +79 -108
- data/lib/sidekiq/ring_buffer.rb +31 -0
- data/lib/sidekiq/scheduled.rb +112 -50
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +26 -0
- data/lib/sidekiq/testing/inline.rb +6 -5
- data/lib/sidekiq/testing.rb +91 -90
- data/lib/sidekiq/transaction_aware_client.rb +51 -0
- data/lib/sidekiq/version.rb +7 -1
- data/lib/sidekiq/web/action.rb +125 -60
- data/lib/sidekiq/web/application.rb +363 -259
- data/lib/sidekiq/web/config.rb +120 -0
- data/lib/sidekiq/web/csrf_protection.rb +183 -0
- data/lib/sidekiq/web/helpers.rb +241 -120
- data/lib/sidekiq/web/router.rb +62 -71
- data/lib/sidekiq/web.rb +69 -161
- data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
- data/lib/sidekiq.rb +94 -182
- data/sidekiq.gemspec +26 -16
- data/web/assets/images/apple-touch-icon.png +0 -0
- data/web/assets/javascripts/application.js +150 -61
- data/web/assets/javascripts/base-charts.js +120 -0
- data/web/assets/javascripts/chart.min.js +13 -0
- data/web/assets/javascripts/chartjs-adapter-date-fns.min.js +7 -0
- data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
- data/web/assets/javascripts/dashboard-charts.js +194 -0
- data/web/assets/javascripts/dashboard.js +41 -293
- data/web/assets/javascripts/metrics.js +280 -0
- data/web/assets/stylesheets/style.css +766 -0
- data/web/locales/ar.yml +72 -65
- data/web/locales/cs.yml +63 -62
- data/web/locales/da.yml +61 -53
- data/web/locales/de.yml +66 -53
- data/web/locales/el.yml +44 -24
- data/web/locales/en.yml +94 -66
- data/web/locales/es.yml +92 -54
- data/web/locales/fa.yml +66 -65
- data/web/locales/fr.yml +83 -62
- data/web/locales/gd.yml +99 -0
- data/web/locales/he.yml +66 -64
- data/web/locales/hi.yml +60 -59
- data/web/locales/it.yml +93 -54
- data/web/locales/ja.yml +75 -64
- data/web/locales/ko.yml +53 -52
- data/web/locales/lt.yml +84 -0
- data/web/locales/nb.yml +62 -61
- data/web/locales/nl.yml +53 -52
- data/web/locales/pl.yml +46 -45
- data/web/locales/{pt-br.yml → pt-BR.yml} +84 -56
- data/web/locales/pt.yml +52 -51
- data/web/locales/ru.yml +69 -63
- data/web/locales/sv.yml +54 -53
- data/web/locales/ta.yml +61 -60
- data/web/locales/tr.yml +101 -0
- data/web/locales/uk.yml +86 -61
- data/web/locales/ur.yml +65 -64
- data/web/locales/vi.yml +84 -0
- data/web/locales/zh-CN.yml +106 -0
- data/web/locales/{zh-tw.yml → zh-TW.yml} +43 -9
- data/web/views/_footer.erb +31 -19
- data/web/views/_job_info.erb +94 -75
- data/web/views/_metrics_period_select.erb +15 -0
- data/web/views/_nav.erb +14 -21
- data/web/views/_paging.erb +23 -19
- data/web/views/_poll_link.erb +3 -6
- data/web/views/_summary.erb +23 -23
- data/web/views/busy.erb +139 -87
- data/web/views/dashboard.erb +82 -53
- data/web/views/dead.erb +31 -27
- data/web/views/filtering.erb +6 -0
- data/web/views/layout.erb +15 -29
- data/web/views/metrics.erb +84 -0
- data/web/views/metrics_for_job.erb +58 -0
- data/web/views/morgue.erb +60 -70
- data/web/views/profiles.erb +43 -0
- data/web/views/queue.erb +50 -39
- data/web/views/queues.erb +45 -29
- data/web/views/retries.erb +65 -75
- data/web/views/retry.erb +32 -27
- data/web/views/scheduled.erb +58 -52
- data/web/views/scheduled_job_info.erb +1 -1
- metadata +96 -76
- 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/LICENSE +0 -9
- 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/delay.rb +0 -42
- data/lib/sidekiq/exception_handler.rb +0 -29
- data/lib/sidekiq/extensions/action_mailer.rb +0 -57
- data/lib/sidekiq/extensions/active_record.rb +0 -40
- data/lib/sidekiq/extensions/class_methods.rb +0 -40
- data/lib/sidekiq/extensions/generic_proxy.rb +0 -31
- data/lib/sidekiq/logging.rb +0 -122
- data/lib/sidekiq/middleware/server/active_record.rb +0 -23
- data/lib/sidekiq/util.rb +0 -66
- data/lib/sidekiq/worker.rb +0 -220
- data/web/assets/stylesheets/application-rtl.css +0 -246
- data/web/assets/stylesheets/application.css +0 -1144
- data/web/assets/stylesheets/bootstrap-rtl.min.css +0 -9
- data/web/assets/stylesheets/bootstrap.css +0 -5
- data/web/locales/zh-cn.yml +0 -68
- data/web/views/_status.erb +0 -4
data/web/views/scheduled.erb
CHANGED
@@ -1,54 +1,60 @@
|
|
1
|
-
<
|
2
|
-
<
|
3
|
-
<
|
4
|
-
|
5
|
-
<% if @scheduled.size > 0 && @total_size > @count %>
|
6
|
-
<div class="col-sm-4">
|
1
|
+
<section>
|
2
|
+
<header>
|
3
|
+
<h1><%= t('ScheduledJobs') %></h1>
|
4
|
+
<% if @scheduled.size > 0 && @total_size > @count %>
|
7
5
|
<%= erb :_paging, locals: { url: "#{root_path}scheduled" } %>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
</header>
|
12
|
-
|
13
|
-
<% if @scheduled.size > 0 %>
|
6
|
+
<% end %>
|
7
|
+
<%= filtering('scheduled') %>
|
8
|
+
</header>
|
14
9
|
|
15
|
-
|
16
|
-
<%=
|
17
|
-
|
18
|
-
<
|
19
|
-
<
|
20
|
-
<
|
21
|
-
<
|
22
|
-
<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
10
|
+
<% if @scheduled.size > 0 %>
|
11
|
+
<form action="<%= root_path %>scheduled" method="post">
|
12
|
+
<%= csrf_tag %>
|
13
|
+
<div class="table_container">
|
14
|
+
<table>
|
15
|
+
<thead>
|
16
|
+
<tr>
|
17
|
+
<th>
|
18
|
+
<label>
|
19
|
+
<input type="checkbox" class="check_all" />
|
20
|
+
</label>
|
21
|
+
</th>
|
22
|
+
<th><%= t('When') %></th>
|
23
|
+
<th><%= t('Queue') %></th>
|
24
|
+
<th><%= t('Job') %></th>
|
25
|
+
<th><%= t('Arguments') %></th>
|
26
|
+
</tr>
|
27
|
+
</thead>
|
28
|
+
<% @scheduled.each do |entry| %>
|
29
|
+
<tr>
|
30
|
+
<td>
|
31
|
+
<label>
|
32
|
+
<input type='checkbox' name='key[]' value='<%= job_params(entry.item, entry.score) %>' class='shift_clickable' />
|
33
|
+
</label>
|
34
|
+
</td>
|
35
|
+
<td>
|
36
|
+
<a href="<%= root_path %>scheduled/<%= job_params(entry.item, entry.score) %>"><%= relative_time(entry.at) %></a>
|
37
|
+
</td>
|
38
|
+
<td>
|
39
|
+
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
40
|
+
</td>
|
41
|
+
<td>
|
42
|
+
<%= entry.display_class %>
|
43
|
+
<%= display_tags(entry, "scheduled") %>
|
44
|
+
</td>
|
45
|
+
<td>
|
46
|
+
<code>
|
47
|
+
<div class="args"><%= display_args(entry.display_args) %></div>
|
48
|
+
</code>
|
49
|
+
</td>
|
50
|
+
</tr>
|
51
|
+
<% end %>
|
52
|
+
</table>
|
53
|
+
</div>
|
54
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" />
|
55
|
+
<input class="btn btn-danger" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
|
56
|
+
</form>
|
57
|
+
<% else %>
|
58
|
+
<div class="alert alert-success"><%= t('NoScheduledFound') %></div>
|
59
|
+
<% end %>
|
60
|
+
</section>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= erb :_job_info, locals: { job: @job, type: :scheduled } %>
|
2
2
|
|
3
|
-
<form
|
3
|
+
<form action="<%= root_path %>scheduled/<%= job_params(@job, @job.score) %>" method="post">
|
4
4
|
<%= csrf_tag %>
|
5
5
|
<a class="btn btn-default" href="<%= root_path %>scheduled"><%= t('GoBack') %></a>
|
6
6
|
<input class="btn btn-primary" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
|
metadata
CHANGED
@@ -1,165 +1,173 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Perham
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-06-30 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: redis
|
13
|
+
name: redis-client
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '5'
|
18
|
+
version: 0.23.2
|
23
19
|
type: :runtime
|
24
20
|
prerelease: false
|
25
21
|
version_requirements: !ruby/object:Gem::Requirement
|
26
22
|
requirements:
|
27
23
|
- - ">="
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '5'
|
25
|
+
version: 0.23.2
|
33
26
|
- !ruby/object:Gem::Dependency
|
34
27
|
name: connection_pool
|
35
28
|
requirement: !ruby/object:Gem::Requirement
|
36
29
|
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '2.2'
|
40
30
|
- - ">="
|
41
31
|
- !ruby/object:Gem::Version
|
42
|
-
version: 2.
|
32
|
+
version: 2.5.0
|
43
33
|
type: :runtime
|
44
34
|
prerelease: false
|
45
35
|
version_requirements: !ruby/object:Gem::Requirement
|
46
36
|
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '2.2'
|
50
37
|
- - ">="
|
51
38
|
- !ruby/object:Gem::Version
|
52
|
-
version: 2.
|
39
|
+
version: 2.5.0
|
53
40
|
- !ruby/object:Gem::Dependency
|
54
41
|
name: rack
|
55
42
|
requirement: !ruby/object:Gem::Requirement
|
56
43
|
requirements:
|
57
44
|
- - ">="
|
58
45
|
- !ruby/object:Gem::Version
|
59
|
-
version: 1.
|
46
|
+
version: 3.1.0
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.1.0
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: json
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 2.9.0
|
60
61
|
type: :runtime
|
61
62
|
prerelease: false
|
62
63
|
version_requirements: !ruby/object:Gem::Requirement
|
63
64
|
requirements:
|
64
65
|
- - ">="
|
65
66
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
67
|
+
version: 2.9.0
|
67
68
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
69
|
+
name: logger
|
69
70
|
requirement: !ruby/object:Gem::Requirement
|
70
71
|
requirements:
|
71
72
|
- - ">="
|
72
73
|
- !ruby/object:Gem::Version
|
73
|
-
version: 1.
|
74
|
+
version: 1.6.2
|
74
75
|
type: :runtime
|
75
76
|
prerelease: false
|
76
77
|
version_requirements: !ruby/object:Gem::Requirement
|
77
78
|
requirements:
|
78
79
|
- - ">="
|
79
80
|
- !ruby/object:Gem::Version
|
80
|
-
version: 1.
|
81
|
+
version: 1.6.2
|
81
82
|
description: Simple, efficient background processing for Ruby.
|
82
83
|
email:
|
83
|
-
-
|
84
|
+
- info@contribsys.com
|
84
85
|
executables:
|
85
86
|
- sidekiq
|
86
|
-
-
|
87
|
+
- sidekiqmon
|
87
88
|
extensions: []
|
88
89
|
extra_rdoc_files: []
|
89
90
|
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
91
|
- Changes.md
|
100
|
-
-
|
101
|
-
- Gemfile
|
102
|
-
- LICENSE
|
103
|
-
- Pro-2.0-Upgrade.md
|
104
|
-
- Pro-3.0-Upgrade.md
|
105
|
-
- Pro-4.0-Upgrade.md
|
106
|
-
- Pro-Changes.md
|
92
|
+
- LICENSE.txt
|
107
93
|
- README.md
|
108
|
-
-
|
94
|
+
- bin/multi_queue_bench
|
109
95
|
- bin/sidekiq
|
110
|
-
- bin/sidekiqctl
|
111
96
|
- bin/sidekiqload
|
112
|
-
-
|
113
|
-
-
|
114
|
-
- lib/
|
115
|
-
- lib/generators/sidekiq/
|
116
|
-
- lib/generators/sidekiq/
|
97
|
+
- bin/sidekiqmon
|
98
|
+
- bin/webload
|
99
|
+
- lib/active_job/queue_adapters/sidekiq_adapter.rb
|
100
|
+
- lib/generators/sidekiq/job_generator.rb
|
101
|
+
- lib/generators/sidekiq/templates/job.rb.erb
|
102
|
+
- lib/generators/sidekiq/templates/job_spec.rb.erb
|
103
|
+
- lib/generators/sidekiq/templates/job_test.rb.erb
|
117
104
|
- lib/sidekiq.rb
|
118
105
|
- lib/sidekiq/api.rb
|
106
|
+
- lib/sidekiq/capsule.rb
|
119
107
|
- lib/sidekiq/cli.rb
|
120
108
|
- lib/sidekiq/client.rb
|
121
|
-
- lib/sidekiq/
|
122
|
-
- lib/sidekiq/
|
123
|
-
- lib/sidekiq/
|
124
|
-
- lib/sidekiq/
|
125
|
-
- lib/sidekiq/extensions/action_mailer.rb
|
126
|
-
- lib/sidekiq/extensions/active_record.rb
|
127
|
-
- lib/sidekiq/extensions/class_methods.rb
|
128
|
-
- lib/sidekiq/extensions/generic_proxy.rb
|
109
|
+
- lib/sidekiq/component.rb
|
110
|
+
- lib/sidekiq/config.rb
|
111
|
+
- lib/sidekiq/deploy.rb
|
112
|
+
- lib/sidekiq/embedded.rb
|
129
113
|
- lib/sidekiq/fetch.rb
|
114
|
+
- lib/sidekiq/iterable_job.rb
|
115
|
+
- lib/sidekiq/job.rb
|
116
|
+
- lib/sidekiq/job/interrupt_handler.rb
|
117
|
+
- lib/sidekiq/job/iterable.rb
|
118
|
+
- lib/sidekiq/job/iterable/active_record_enumerator.rb
|
119
|
+
- lib/sidekiq/job/iterable/csv_enumerator.rb
|
120
|
+
- lib/sidekiq/job/iterable/enumerators.rb
|
130
121
|
- lib/sidekiq/job_logger.rb
|
131
122
|
- lib/sidekiq/job_retry.rb
|
123
|
+
- lib/sidekiq/job_util.rb
|
132
124
|
- lib/sidekiq/launcher.rb
|
133
|
-
- lib/sidekiq/
|
125
|
+
- lib/sidekiq/logger.rb
|
134
126
|
- lib/sidekiq/manager.rb
|
127
|
+
- lib/sidekiq/metrics/query.rb
|
128
|
+
- lib/sidekiq/metrics/shared.rb
|
129
|
+
- lib/sidekiq/metrics/tracking.rb
|
135
130
|
- lib/sidekiq/middleware/chain.rb
|
131
|
+
- lib/sidekiq/middleware/current_attributes.rb
|
136
132
|
- lib/sidekiq/middleware/i18n.rb
|
137
|
-
- lib/sidekiq/middleware/
|
133
|
+
- lib/sidekiq/middleware/modules.rb
|
134
|
+
- lib/sidekiq/monitor.rb
|
138
135
|
- lib/sidekiq/paginator.rb
|
139
136
|
- lib/sidekiq/processor.rb
|
137
|
+
- lib/sidekiq/profiler.rb
|
140
138
|
- lib/sidekiq/rails.rb
|
139
|
+
- lib/sidekiq/redis_client_adapter.rb
|
141
140
|
- lib/sidekiq/redis_connection.rb
|
141
|
+
- lib/sidekiq/ring_buffer.rb
|
142
142
|
- lib/sidekiq/scheduled.rb
|
143
|
+
- lib/sidekiq/sd_notify.rb
|
144
|
+
- lib/sidekiq/systemd.rb
|
143
145
|
- lib/sidekiq/testing.rb
|
144
146
|
- lib/sidekiq/testing/inline.rb
|
145
|
-
- lib/sidekiq/
|
147
|
+
- lib/sidekiq/transaction_aware_client.rb
|
146
148
|
- lib/sidekiq/version.rb
|
147
149
|
- lib/sidekiq/web.rb
|
148
150
|
- lib/sidekiq/web/action.rb
|
149
151
|
- lib/sidekiq/web/application.rb
|
152
|
+
- lib/sidekiq/web/config.rb
|
153
|
+
- lib/sidekiq/web/csrf_protection.rb
|
150
154
|
- lib/sidekiq/web/helpers.rb
|
151
155
|
- lib/sidekiq/web/router.rb
|
152
|
-
- lib/sidekiq/
|
156
|
+
- lib/sidekiq/worker_compatibility_alias.rb
|
153
157
|
- sidekiq.gemspec
|
158
|
+
- web/assets/images/apple-touch-icon.png
|
154
159
|
- web/assets/images/favicon.ico
|
155
160
|
- web/assets/images/logo.png
|
156
161
|
- web/assets/images/status.png
|
157
162
|
- web/assets/javascripts/application.js
|
163
|
+
- web/assets/javascripts/base-charts.js
|
164
|
+
- web/assets/javascripts/chart.min.js
|
165
|
+
- web/assets/javascripts/chartjs-adapter-date-fns.min.js
|
166
|
+
- web/assets/javascripts/chartjs-plugin-annotation.min.js
|
167
|
+
- web/assets/javascripts/dashboard-charts.js
|
158
168
|
- web/assets/javascripts/dashboard.js
|
159
|
-
- web/assets/
|
160
|
-
- web/assets/stylesheets/
|
161
|
-
- web/assets/stylesheets/bootstrap-rtl.min.css
|
162
|
-
- web/assets/stylesheets/bootstrap.css
|
169
|
+
- web/assets/javascripts/metrics.js
|
170
|
+
- web/assets/stylesheets/style.css
|
163
171
|
- web/locales/ar.yml
|
164
172
|
- web/locales/cs.yml
|
165
173
|
- web/locales/da.yml
|
@@ -169,46 +177,59 @@ files:
|
|
169
177
|
- web/locales/es.yml
|
170
178
|
- web/locales/fa.yml
|
171
179
|
- web/locales/fr.yml
|
180
|
+
- web/locales/gd.yml
|
172
181
|
- web/locales/he.yml
|
173
182
|
- web/locales/hi.yml
|
174
183
|
- web/locales/it.yml
|
175
184
|
- web/locales/ja.yml
|
176
185
|
- web/locales/ko.yml
|
186
|
+
- web/locales/lt.yml
|
177
187
|
- web/locales/nb.yml
|
178
188
|
- web/locales/nl.yml
|
179
189
|
- web/locales/pl.yml
|
180
|
-
- web/locales/pt-
|
190
|
+
- web/locales/pt-BR.yml
|
181
191
|
- web/locales/pt.yml
|
182
192
|
- web/locales/ru.yml
|
183
193
|
- web/locales/sv.yml
|
184
194
|
- web/locales/ta.yml
|
195
|
+
- web/locales/tr.yml
|
185
196
|
- web/locales/uk.yml
|
186
197
|
- web/locales/ur.yml
|
187
|
-
- web/locales/
|
188
|
-
- web/locales/zh-
|
198
|
+
- web/locales/vi.yml
|
199
|
+
- web/locales/zh-CN.yml
|
200
|
+
- web/locales/zh-TW.yml
|
189
201
|
- web/views/_footer.erb
|
190
202
|
- web/views/_job_info.erb
|
203
|
+
- web/views/_metrics_period_select.erb
|
191
204
|
- web/views/_nav.erb
|
192
205
|
- web/views/_paging.erb
|
193
206
|
- web/views/_poll_link.erb
|
194
|
-
- web/views/_status.erb
|
195
207
|
- web/views/_summary.erb
|
196
208
|
- web/views/busy.erb
|
197
209
|
- web/views/dashboard.erb
|
198
210
|
- web/views/dead.erb
|
211
|
+
- web/views/filtering.erb
|
199
212
|
- web/views/layout.erb
|
213
|
+
- web/views/metrics.erb
|
214
|
+
- web/views/metrics_for_job.erb
|
200
215
|
- web/views/morgue.erb
|
216
|
+
- web/views/profiles.erb
|
201
217
|
- web/views/queue.erb
|
202
218
|
- web/views/queues.erb
|
203
219
|
- web/views/retries.erb
|
204
220
|
- web/views/retry.erb
|
205
221
|
- web/views/scheduled.erb
|
206
222
|
- web/views/scheduled_job_info.erb
|
207
|
-
homepage:
|
223
|
+
homepage: https://sidekiq.org
|
208
224
|
licenses:
|
209
225
|
- LGPL-3.0
|
210
|
-
metadata:
|
211
|
-
|
226
|
+
metadata:
|
227
|
+
homepage_uri: https://sidekiq.org
|
228
|
+
bug_tracker_uri: https://github.com/sidekiq/sidekiq/issues
|
229
|
+
documentation_uri: https://github.com/sidekiq/sidekiq/wiki
|
230
|
+
changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
|
231
|
+
source_code_uri: https://github.com/sidekiq/sidekiq
|
232
|
+
rubygems_mfa_required: 'true'
|
212
233
|
rdoc_options: []
|
213
234
|
require_paths:
|
214
235
|
- lib
|
@@ -216,15 +237,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
237
|
requirements:
|
217
238
|
- - ">="
|
218
239
|
- !ruby/object:Gem::Version
|
219
|
-
version:
|
240
|
+
version: 3.2.0
|
220
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
242
|
requirements:
|
222
243
|
- - ">="
|
223
244
|
- !ruby/object:Gem::Version
|
224
245
|
version: '0'
|
225
246
|
requirements: []
|
226
|
-
rubygems_version: 3.
|
227
|
-
signing_key:
|
247
|
+
rubygems_version: 3.6.2
|
228
248
|
specification_version: 4
|
229
249
|
summary: Simple, efficient background processing for Ruby
|
230
250
|
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
|