sidekiq 5.2.4 → 7.2.4
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 +672 -8
- data/LICENSE.txt +9 -0
- data/README.md +48 -51
- data/bin/multi_queue_bench +271 -0
- data/bin/sidekiq +22 -3
- data/bin/sidekiqload +213 -115
- data/bin/sidekiqmon +11 -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 +623 -352
- data/lib/sidekiq/capsule.rb +127 -0
- data/lib/sidekiq/cli.rb +214 -229
- data/lib/sidekiq/client.rb +127 -102
- data/lib/sidekiq/component.rb +68 -0
- data/lib/sidekiq/config.rb +287 -0
- data/lib/sidekiq/deploy.rb +62 -0
- data/lib/sidekiq/embedded.rb +61 -0
- data/lib/sidekiq/fetch.rb +49 -42
- data/lib/sidekiq/job.rb +374 -0
- data/lib/sidekiq/job_logger.rb +33 -7
- data/lib/sidekiq/job_retry.rb +157 -108
- data/lib/sidekiq/job_util.rb +107 -0
- data/lib/sidekiq/launcher.rb +206 -106
- data/lib/sidekiq/logger.rb +131 -0
- data/lib/sidekiq/manager.rb +43 -46
- data/lib/sidekiq/metrics/query.rb +156 -0
- data/lib/sidekiq/metrics/shared.rb +95 -0
- data/lib/sidekiq/metrics/tracking.rb +140 -0
- data/lib/sidekiq/middleware/chain.rb +113 -56
- data/lib/sidekiq/middleware/current_attributes.rb +95 -0
- data/lib/sidekiq/middleware/i18n.rb +7 -7
- data/lib/sidekiq/middleware/modules.rb +21 -0
- data/lib/sidekiq/monitor.rb +146 -0
- data/lib/sidekiq/paginator.rb +28 -16
- data/lib/sidekiq/processor.rb +126 -117
- data/lib/sidekiq/rails.rb +52 -38
- data/lib/sidekiq/redis_client_adapter.rb +111 -0
- data/lib/sidekiq/redis_connection.rb +41 -112
- data/lib/sidekiq/ring_buffer.rb +29 -0
- data/lib/sidekiq/scheduled.rb +112 -50
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +24 -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 +3 -1
- data/lib/sidekiq/web/action.rb +20 -11
- data/lib/sidekiq/web/application.rb +202 -80
- data/lib/sidekiq/web/csrf_protection.rb +183 -0
- data/lib/sidekiq/web/helpers.rb +165 -114
- data/lib/sidekiq/web/router.rb +23 -19
- data/lib/sidekiq/web.rb +68 -107
- data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
- data/lib/sidekiq.rb +92 -182
- data/sidekiq.gemspec +25 -16
- data/web/assets/images/apple-touch-icon.png +0 -0
- data/web/assets/javascripts/application.js +152 -61
- data/web/assets/javascripts/base-charts.js +106 -0
- data/web/assets/javascripts/chart.min.js +13 -0
- data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
- data/web/assets/javascripts/dashboard-charts.js +182 -0
- data/web/assets/javascripts/dashboard.js +35 -293
- data/web/assets/javascripts/metrics.js +298 -0
- data/web/assets/stylesheets/application-dark.css +147 -0
- data/web/assets/stylesheets/application-rtl.css +10 -93
- data/web/assets/stylesheets/application.css +124 -522
- data/web/assets/stylesheets/bootstrap.css +1 -1
- data/web/locales/ar.yml +71 -65
- data/web/locales/cs.yml +62 -62
- data/web/locales/da.yml +60 -53
- data/web/locales/de.yml +65 -53
- data/web/locales/el.yml +43 -24
- data/web/locales/en.yml +86 -66
- data/web/locales/es.yml +70 -54
- data/web/locales/fa.yml +65 -65
- data/web/locales/fr.yml +83 -62
- data/web/locales/gd.yml +99 -0
- data/web/locales/he.yml +65 -64
- data/web/locales/hi.yml +59 -59
- data/web/locales/it.yml +53 -53
- data/web/locales/ja.yml +75 -64
- data/web/locales/ko.yml +52 -52
- data/web/locales/lt.yml +83 -0
- data/web/locales/nb.yml +61 -61
- data/web/locales/nl.yml +52 -52
- data/web/locales/pl.yml +45 -45
- data/web/locales/pt-br.yml +83 -55
- data/web/locales/pt.yml +51 -51
- data/web/locales/ru.yml +68 -63
- data/web/locales/sv.yml +53 -53
- data/web/locales/ta.yml +60 -60
- data/web/locales/uk.yml +62 -61
- data/web/locales/ur.yml +64 -64
- data/web/locales/vi.yml +83 -0
- data/web/locales/zh-cn.yml +43 -16
- data/web/locales/zh-tw.yml +42 -8
- data/web/views/_footer.erb +18 -3
- data/web/views/_job_info.erb +21 -4
- data/web/views/_metrics_period_select.erb +12 -0
- data/web/views/_nav.erb +1 -1
- data/web/views/_paging.erb +2 -0
- data/web/views/_poll_link.erb +3 -6
- data/web/views/_summary.erb +7 -7
- data/web/views/busy.erb +79 -29
- data/web/views/dashboard.erb +48 -18
- data/web/views/dead.erb +3 -3
- data/web/views/filtering.erb +7 -0
- data/web/views/layout.erb +3 -1
- data/web/views/metrics.erb +91 -0
- data/web/views/metrics_for_job.erb +59 -0
- data/web/views/morgue.erb +14 -15
- data/web/views/queue.erb +33 -24
- data/web/views/queues.erb +19 -5
- data/web/views/retries.erb +16 -17
- data/web/views/retry.erb +3 -3
- data/web/views/scheduled.erb +17 -15
- metadata +71 -72
- data/.github/contributing.md +0 -32
- data/.github/issue_template.md +0 -11
- data/.gitignore +0 -15
- data/.travis.yml +0 -17
- data/3.0-Upgrade.md +0 -70
- data/4.0-Upgrade.md +0 -53
- data/5.0-Upgrade.md +0 -56
- data/Appraisals +0 -9
- data/COMM-LICENSE +0 -95
- data/Ent-Changes.md +0 -225
- data/Gemfile +0 -29
- 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 -752
- data/Rakefile +0 -9
- data/bin/sidekiqctl +0 -237
- data/code_of_conduct.md +0 -50
- data/gemfiles/rails_4.gemfile +0 -31
- data/gemfiles/rails_5.gemfile +0 -31
- data/lib/generators/sidekiq/worker_generator.rb +0 -49
- data/lib/sidekiq/core_ext.rb +0 -1
- 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 -215
data/web/views/queue.erb
CHANGED
|
@@ -1,41 +1,50 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<div class="col-sm-4 pull-right flip">
|
|
12
|
-
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
|
13
|
-
</div>
|
|
14
|
-
</header>
|
|
1
|
+
<div class="header-container">
|
|
2
|
+
<h1><%= t('CurrentMessagesInQueue', :queue => h(@name)) %>
|
|
3
|
+
<% if @queue.paused? %>
|
|
4
|
+
<span class="label label-danger"><%= t('Paused') %></span>
|
|
5
|
+
<% end %>
|
|
6
|
+
<span class="badge badge-secondary"><%= number_with_delimiter(@total_size) %></span>
|
|
7
|
+
</h1>
|
|
8
|
+
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
15
11
|
<div class="table_container">
|
|
16
12
|
<table class="queue table table-hover table-bordered table-striped">
|
|
17
13
|
<thead>
|
|
14
|
+
<th><a href="<%= url %>?direction=<%= params[:direction] == 'asc' ? 'desc' : 'asc' %>"># <%= sort_direction_label %></a></th>
|
|
18
15
|
<th><%= t('Job') %></th>
|
|
19
16
|
<th><%= t('Arguments') %></th>
|
|
17
|
+
<th><%= t('Context') %></th>
|
|
20
18
|
<th></th>
|
|
21
19
|
</thead>
|
|
22
|
-
<% @
|
|
23
|
-
<tr>
|
|
24
|
-
|
|
20
|
+
<% @jobs.each_with_index do |job, index| %>
|
|
21
|
+
<tr title="<%= job.jid %>">
|
|
22
|
+
<% if params[:direction] == 'asc' %>
|
|
23
|
+
<td><%= @count * (@current_page - 1) + index + 1 %></td>
|
|
24
|
+
<% else %>
|
|
25
|
+
<td><%= @total_size - (@count * (@current_page - 1) + index) %></td>
|
|
26
|
+
<% end %>
|
|
27
|
+
<td>
|
|
28
|
+
<%= h(job.display_class) %>
|
|
29
|
+
<%= display_tags(job, nil) %>
|
|
30
|
+
</td>
|
|
25
31
|
<td>
|
|
26
|
-
<% a =
|
|
32
|
+
<% a = job.display_args %>
|
|
27
33
|
<% if a.inspect.size > 100 %>
|
|
28
|
-
<span
|
|
29
|
-
<button data-toggle="
|
|
30
|
-
<div class="toggle
|
|
34
|
+
<span id="job_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
|
|
35
|
+
<button data-toggle="job_<%= index %>_full" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
|
|
36
|
+
<div class="toggle" id="job_<%= index %>_full"><%= display_args(a) %></div>
|
|
31
37
|
<% else %>
|
|
32
|
-
<%= display_args(
|
|
38
|
+
<%= display_args(job.display_args) %>
|
|
33
39
|
<% end %>
|
|
34
40
|
</td>
|
|
41
|
+
<td>
|
|
42
|
+
<%= h(job["cattr"].inspect) if job["cattr"]&.any? %>
|
|
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,9 @@
|
|
|
1
|
-
<
|
|
1
|
+
<div class="header-container">
|
|
2
|
+
<h1><%= t('Queues') %></h1>
|
|
3
|
+
</div>
|
|
2
4
|
|
|
3
5
|
<div class="table_container">
|
|
4
|
-
<table class="queues table table-hover table-bordered table-striped
|
|
6
|
+
<table class="queues table table-hover table-bordered table-striped">
|
|
5
7
|
<thead>
|
|
6
8
|
<th><%= t('Queue') %></th>
|
|
7
9
|
<th><%= t('Size') %></th>
|
|
@@ -16,12 +18,24 @@
|
|
|
16
18
|
<span class="label label-danger"><%= t('Paused') %></span>
|
|
17
19
|
<% end %>
|
|
18
20
|
</td>
|
|
19
|
-
<td><%= number_with_delimiter(queue.size) %> </td>
|
|
20
|
-
<td
|
|
21
|
+
<td class="num"><%= number_with_delimiter(queue.size) %> </td>
|
|
22
|
+
<td class="num">
|
|
23
|
+
<% queue_latency = queue.latency %>
|
|
24
|
+
<%= (queue_latency < 60) ? '' : " (#{relative_time(Time.at(Time.now.to_f - queue_latency))})" %>
|
|
25
|
+
<%= number_with_delimiter(queue_latency, precision: 2) %>
|
|
26
|
+
</td>
|
|
21
27
|
<td class="delete-confirm">
|
|
22
28
|
<form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
|
23
29
|
<%= csrf_tag %>
|
|
24
|
-
<input class="btn btn-danger
|
|
30
|
+
<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)) %>" />
|
|
31
|
+
|
|
32
|
+
<% if Sidekiq.pro? %>
|
|
33
|
+
<% if queue.paused? %>
|
|
34
|
+
<input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>" />
|
|
35
|
+
<% else %>
|
|
36
|
+
<input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>" />
|
|
37
|
+
<% end %>
|
|
38
|
+
<% end %>
|
|
25
39
|
</form>
|
|
26
40
|
</td>
|
|
27
41
|
</tr>
|
data/web/views/retries.erb
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
<h3><%= t('Retries') %></h3>
|
|
4
|
-
</div>
|
|
1
|
+
<div class="header-container">
|
|
2
|
+
<h1><%= t('Retries') %></h1>
|
|
5
3
|
<% if @retries.size > 0 && @total_size > @count %>
|
|
6
|
-
|
|
7
|
-
<%= erb :_paging, locals: { url: "#{root_path}retries" } %>
|
|
8
|
-
</div>
|
|
4
|
+
<%= erb :_paging, locals: { url: "#{root_path}retries" } %>
|
|
9
5
|
<% end %>
|
|
10
6
|
<%= filtering('retries') %>
|
|
11
|
-
</
|
|
7
|
+
</div>
|
|
12
8
|
|
|
13
9
|
<% if @retries.size > 0 %>
|
|
14
10
|
<form action="<%= root_path %>retries" method="post">
|
|
15
11
|
<%= csrf_tag %>
|
|
16
12
|
<div class="table_container">
|
|
17
|
-
<table class="table table-striped table-bordered table-
|
|
13
|
+
<table class="table table-striped table-bordered table-hover">
|
|
18
14
|
<thead>
|
|
19
15
|
<tr>
|
|
20
16
|
<th class="table-checkbox checkbox-column">
|
|
@@ -34,7 +30,7 @@
|
|
|
34
30
|
<tr>
|
|
35
31
|
<td class="table-checkbox">
|
|
36
32
|
<label>
|
|
37
|
-
<input type='checkbox' name='key[]' value='<%= job_params(entry.item, entry.score) %>' />
|
|
33
|
+
<input type='checkbox' name='key[]' value='<%= job_params(entry.item, entry.score) %>' class='shift_clickable' />
|
|
38
34
|
</label>
|
|
39
35
|
</td>
|
|
40
36
|
<td>
|
|
@@ -44,7 +40,10 @@
|
|
|
44
40
|
<td>
|
|
45
41
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
|
46
42
|
</td>
|
|
47
|
-
<td
|
|
43
|
+
<td>
|
|
44
|
+
<%= entry.display_class %>
|
|
45
|
+
<%= display_tags(entry, "retries") %>
|
|
46
|
+
</td>
|
|
48
47
|
<td>
|
|
49
48
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
|
50
49
|
</td>
|
|
@@ -55,23 +54,23 @@
|
|
|
55
54
|
<% end %>
|
|
56
55
|
</table>
|
|
57
56
|
</div>
|
|
58
|
-
<input class="btn btn-primary
|
|
59
|
-
<input class="btn btn-danger
|
|
60
|
-
<input class="btn btn-danger
|
|
57
|
+
<input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
|
58
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
|
59
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
|
|
61
60
|
</form>
|
|
62
61
|
|
|
63
62
|
<% unfiltered? do %>
|
|
64
63
|
<form action="<%= root_path %>retries/all/delete" method="post">
|
|
65
64
|
<%= csrf_tag %>
|
|
66
|
-
<input class="btn btn-danger
|
|
65
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
|
67
66
|
</form>
|
|
68
67
|
<form action="<%= root_path %>retries/all/retry" method="post">
|
|
69
68
|
<%= csrf_tag %>
|
|
70
|
-
<input class="btn btn-danger
|
|
69
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
|
71
70
|
</form>
|
|
72
71
|
<form action="<%= root_path %>retries/all/kill" method="post">
|
|
73
72
|
<%= csrf_tag %>
|
|
74
|
-
<input class="btn btn-danger
|
|
73
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
|
75
74
|
</form>
|
|
76
75
|
<% end %>
|
|
77
76
|
|
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
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
<h3><%= t('ScheduledJobs') %></h3>
|
|
4
|
-
</div>
|
|
1
|
+
<div class="header-container">
|
|
2
|
+
<h1><%= t('ScheduledJobs') %></h1>
|
|
5
3
|
<% if @scheduled.size > 0 && @total_size > @count %>
|
|
6
|
-
|
|
7
|
-
<%= erb :_paging, locals: { url: "#{root_path}scheduled" } %>
|
|
8
|
-
</div>
|
|
4
|
+
<%= erb :_paging, locals: { url: "#{root_path}scheduled" } %>
|
|
9
5
|
<% end %>
|
|
10
6
|
<%= filtering('scheduled') %>
|
|
11
|
-
</
|
|
7
|
+
</div>
|
|
12
8
|
|
|
13
9
|
<% if @scheduled.size > 0 %>
|
|
14
|
-
|
|
15
10
|
<form action="<%= root_path %>scheduled" method="post">
|
|
16
11
|
<%= csrf_tag %>
|
|
17
12
|
<div class="table_container">
|
|
18
|
-
<table class="table table-striped table-bordered table-
|
|
13
|
+
<table class="table table-striped table-bordered table-hover">
|
|
19
14
|
<thead>
|
|
20
15
|
<tr>
|
|
21
|
-
<th class="checkbox-column">
|
|
22
|
-
<
|
|
16
|
+
<th class="table-checkbox checkbox-column">
|
|
17
|
+
<label>
|
|
18
|
+
<input type="checkbox" class="check_all" />
|
|
19
|
+
</label>
|
|
23
20
|
</th>
|
|
24
21
|
<th><%= t('When') %></th>
|
|
25
22
|
<th><%= t('Queue') %></th>
|
|
@@ -29,8 +26,10 @@
|
|
|
29
26
|
</thead>
|
|
30
27
|
<% @scheduled.each do |entry| %>
|
|
31
28
|
<tr>
|
|
32
|
-
<td>
|
|
33
|
-
<
|
|
29
|
+
<td class="table-checkbox">
|
|
30
|
+
<label>
|
|
31
|
+
<input type='checkbox' name='key[]' value='<%= job_params(entry.item, entry.score) %>' class='shift_clickable' />
|
|
32
|
+
</label>
|
|
34
33
|
</td>
|
|
35
34
|
<td>
|
|
36
35
|
<a href="<%= root_path %>scheduled/<%= job_params(entry.item, entry.score) %>"><%= relative_time(entry.at) %></a>
|
|
@@ -38,7 +37,10 @@
|
|
|
38
37
|
<td>
|
|
39
38
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
|
40
39
|
</td>
|
|
41
|
-
<td
|
|
40
|
+
<td>
|
|
41
|
+
<%= entry.display_class %>
|
|
42
|
+
<%= display_tags(entry, "scheduled") %>
|
|
43
|
+
</td>
|
|
42
44
|
<td>
|
|
43
45
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
|
44
46
|
</td>
|
metadata
CHANGED
|
@@ -1,162 +1,149 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sidekiq
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 7.2.4
|
|
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: 2024-04-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: redis
|
|
14
|
+
name: redis-client
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
- - "<"
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: '5'
|
|
19
|
+
version: 0.19.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: '5'
|
|
26
|
+
version: 0.19.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
|
-
version: 2.
|
|
33
|
+
version: 2.3.0
|
|
43
34
|
type: :runtime
|
|
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
|
-
version: 2.
|
|
40
|
+
version: 2.3.0
|
|
53
41
|
- !ruby/object:Gem::Dependency
|
|
54
42
|
name: rack
|
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
|
56
44
|
requirements:
|
|
57
45
|
- - ">="
|
|
58
46
|
- !ruby/object:Gem::Version
|
|
59
|
-
version:
|
|
47
|
+
version: 2.2.4
|
|
60
48
|
type: :runtime
|
|
61
49
|
prerelease: false
|
|
62
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
63
51
|
requirements:
|
|
64
52
|
- - ">="
|
|
65
53
|
- !ruby/object:Gem::Version
|
|
66
|
-
version:
|
|
54
|
+
version: 2.2.4
|
|
67
55
|
- !ruby/object:Gem::Dependency
|
|
68
|
-
name:
|
|
56
|
+
name: concurrent-ruby
|
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
|
70
58
|
requirements:
|
|
71
|
-
- - "
|
|
59
|
+
- - "<"
|
|
72
60
|
- !ruby/object:Gem::Version
|
|
73
|
-
version:
|
|
61
|
+
version: '2'
|
|
74
62
|
type: :runtime
|
|
75
63
|
prerelease: false
|
|
76
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
77
65
|
requirements:
|
|
78
|
-
- - "
|
|
66
|
+
- - "<"
|
|
79
67
|
- !ruby/object:Gem::Version
|
|
80
|
-
version:
|
|
68
|
+
version: '2'
|
|
81
69
|
description: Simple, efficient background processing for Ruby.
|
|
82
70
|
email:
|
|
83
|
-
-
|
|
71
|
+
- info@contribsys.com
|
|
84
72
|
executables:
|
|
85
73
|
- sidekiq
|
|
86
|
-
-
|
|
74
|
+
- sidekiqmon
|
|
87
75
|
extensions: []
|
|
88
76
|
extra_rdoc_files: []
|
|
89
77
|
files:
|
|
90
|
-
- ".github/contributing.md"
|
|
91
|
-
- ".github/issue_template.md"
|
|
92
|
-
- ".gitignore"
|
|
93
|
-
- ".travis.yml"
|
|
94
|
-
- 3.0-Upgrade.md
|
|
95
|
-
- 4.0-Upgrade.md
|
|
96
|
-
- 5.0-Upgrade.md
|
|
97
|
-
- Appraisals
|
|
98
|
-
- COMM-LICENSE
|
|
99
78
|
- 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
|
|
79
|
+
- LICENSE.txt
|
|
107
80
|
- README.md
|
|
108
|
-
-
|
|
81
|
+
- bin/multi_queue_bench
|
|
109
82
|
- bin/sidekiq
|
|
110
|
-
- bin/sidekiqctl
|
|
111
83
|
- bin/sidekiqload
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
- lib/generators/sidekiq/templates/
|
|
116
|
-
- lib/generators/sidekiq/templates/
|
|
117
|
-
- lib/generators/sidekiq/templates/worker_test.rb.erb
|
|
118
|
-
- lib/generators/sidekiq/worker_generator.rb
|
|
84
|
+
- bin/sidekiqmon
|
|
85
|
+
- lib/generators/sidekiq/job_generator.rb
|
|
86
|
+
- lib/generators/sidekiq/templates/job.rb.erb
|
|
87
|
+
- lib/generators/sidekiq/templates/job_spec.rb.erb
|
|
88
|
+
- lib/generators/sidekiq/templates/job_test.rb.erb
|
|
119
89
|
- lib/sidekiq.rb
|
|
120
90
|
- lib/sidekiq/api.rb
|
|
91
|
+
- lib/sidekiq/capsule.rb
|
|
121
92
|
- lib/sidekiq/cli.rb
|
|
122
93
|
- lib/sidekiq/client.rb
|
|
123
|
-
- lib/sidekiq/
|
|
124
|
-
- lib/sidekiq/
|
|
125
|
-
- lib/sidekiq/
|
|
126
|
-
- lib/sidekiq/
|
|
127
|
-
- lib/sidekiq/extensions/active_record.rb
|
|
128
|
-
- lib/sidekiq/extensions/class_methods.rb
|
|
129
|
-
- lib/sidekiq/extensions/generic_proxy.rb
|
|
94
|
+
- lib/sidekiq/component.rb
|
|
95
|
+
- lib/sidekiq/config.rb
|
|
96
|
+
- lib/sidekiq/deploy.rb
|
|
97
|
+
- lib/sidekiq/embedded.rb
|
|
130
98
|
- lib/sidekiq/fetch.rb
|
|
99
|
+
- lib/sidekiq/job.rb
|
|
131
100
|
- lib/sidekiq/job_logger.rb
|
|
132
101
|
- lib/sidekiq/job_retry.rb
|
|
102
|
+
- lib/sidekiq/job_util.rb
|
|
133
103
|
- lib/sidekiq/launcher.rb
|
|
134
|
-
- lib/sidekiq/
|
|
104
|
+
- lib/sidekiq/logger.rb
|
|
135
105
|
- lib/sidekiq/manager.rb
|
|
106
|
+
- lib/sidekiq/metrics/query.rb
|
|
107
|
+
- lib/sidekiq/metrics/shared.rb
|
|
108
|
+
- lib/sidekiq/metrics/tracking.rb
|
|
136
109
|
- lib/sidekiq/middleware/chain.rb
|
|
110
|
+
- lib/sidekiq/middleware/current_attributes.rb
|
|
137
111
|
- lib/sidekiq/middleware/i18n.rb
|
|
138
|
-
- lib/sidekiq/middleware/
|
|
112
|
+
- lib/sidekiq/middleware/modules.rb
|
|
113
|
+
- lib/sidekiq/monitor.rb
|
|
139
114
|
- lib/sidekiq/paginator.rb
|
|
140
115
|
- lib/sidekiq/processor.rb
|
|
141
116
|
- lib/sidekiq/rails.rb
|
|
117
|
+
- lib/sidekiq/redis_client_adapter.rb
|
|
142
118
|
- lib/sidekiq/redis_connection.rb
|
|
119
|
+
- lib/sidekiq/ring_buffer.rb
|
|
143
120
|
- lib/sidekiq/scheduled.rb
|
|
121
|
+
- lib/sidekiq/sd_notify.rb
|
|
122
|
+
- lib/sidekiq/systemd.rb
|
|
144
123
|
- lib/sidekiq/testing.rb
|
|
145
124
|
- lib/sidekiq/testing/inline.rb
|
|
146
|
-
- lib/sidekiq/
|
|
125
|
+
- lib/sidekiq/transaction_aware_client.rb
|
|
147
126
|
- lib/sidekiq/version.rb
|
|
148
127
|
- lib/sidekiq/web.rb
|
|
149
128
|
- lib/sidekiq/web/action.rb
|
|
150
129
|
- lib/sidekiq/web/application.rb
|
|
130
|
+
- lib/sidekiq/web/csrf_protection.rb
|
|
151
131
|
- lib/sidekiq/web/helpers.rb
|
|
152
132
|
- lib/sidekiq/web/router.rb
|
|
153
|
-
- lib/sidekiq/
|
|
133
|
+
- lib/sidekiq/worker_compatibility_alias.rb
|
|
154
134
|
- sidekiq.gemspec
|
|
135
|
+
- web/assets/images/apple-touch-icon.png
|
|
155
136
|
- web/assets/images/favicon.ico
|
|
156
137
|
- web/assets/images/logo.png
|
|
157
138
|
- web/assets/images/status.png
|
|
158
139
|
- web/assets/javascripts/application.js
|
|
140
|
+
- web/assets/javascripts/base-charts.js
|
|
141
|
+
- web/assets/javascripts/chart.min.js
|
|
142
|
+
- web/assets/javascripts/chartjs-plugin-annotation.min.js
|
|
143
|
+
- web/assets/javascripts/dashboard-charts.js
|
|
159
144
|
- web/assets/javascripts/dashboard.js
|
|
145
|
+
- web/assets/javascripts/metrics.js
|
|
146
|
+
- web/assets/stylesheets/application-dark.css
|
|
160
147
|
- web/assets/stylesheets/application-rtl.css
|
|
161
148
|
- web/assets/stylesheets/application.css
|
|
162
149
|
- web/assets/stylesheets/bootstrap-rtl.min.css
|
|
@@ -170,11 +157,13 @@ files:
|
|
|
170
157
|
- web/locales/es.yml
|
|
171
158
|
- web/locales/fa.yml
|
|
172
159
|
- web/locales/fr.yml
|
|
160
|
+
- web/locales/gd.yml
|
|
173
161
|
- web/locales/he.yml
|
|
174
162
|
- web/locales/hi.yml
|
|
175
163
|
- web/locales/it.yml
|
|
176
164
|
- web/locales/ja.yml
|
|
177
165
|
- web/locales/ko.yml
|
|
166
|
+
- web/locales/lt.yml
|
|
178
167
|
- web/locales/nb.yml
|
|
179
168
|
- web/locales/nl.yml
|
|
180
169
|
- web/locales/pl.yml
|
|
@@ -185,10 +174,12 @@ files:
|
|
|
185
174
|
- web/locales/ta.yml
|
|
186
175
|
- web/locales/uk.yml
|
|
187
176
|
- web/locales/ur.yml
|
|
177
|
+
- web/locales/vi.yml
|
|
188
178
|
- web/locales/zh-cn.yml
|
|
189
179
|
- web/locales/zh-tw.yml
|
|
190
180
|
- web/views/_footer.erb
|
|
191
181
|
- web/views/_job_info.erb
|
|
182
|
+
- web/views/_metrics_period_select.erb
|
|
192
183
|
- web/views/_nav.erb
|
|
193
184
|
- web/views/_paging.erb
|
|
194
185
|
- web/views/_poll_link.erb
|
|
@@ -197,7 +188,10 @@ files:
|
|
|
197
188
|
- web/views/busy.erb
|
|
198
189
|
- web/views/dashboard.erb
|
|
199
190
|
- web/views/dead.erb
|
|
191
|
+
- web/views/filtering.erb
|
|
200
192
|
- web/views/layout.erb
|
|
193
|
+
- web/views/metrics.erb
|
|
194
|
+
- web/views/metrics_for_job.erb
|
|
201
195
|
- web/views/morgue.erb
|
|
202
196
|
- web/views/queue.erb
|
|
203
197
|
- web/views/queues.erb
|
|
@@ -205,11 +199,17 @@ files:
|
|
|
205
199
|
- web/views/retry.erb
|
|
206
200
|
- web/views/scheduled.erb
|
|
207
201
|
- web/views/scheduled_job_info.erb
|
|
208
|
-
homepage:
|
|
202
|
+
homepage: https://sidekiq.org
|
|
209
203
|
licenses:
|
|
210
204
|
- LGPL-3.0
|
|
211
|
-
metadata:
|
|
212
|
-
|
|
205
|
+
metadata:
|
|
206
|
+
homepage_uri: https://sidekiq.org
|
|
207
|
+
bug_tracker_uri: https://github.com/sidekiq/sidekiq/issues
|
|
208
|
+
documentation_uri: https://github.com/sidekiq/sidekiq/wiki
|
|
209
|
+
changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
|
|
210
|
+
source_code_uri: https://github.com/sidekiq/sidekiq
|
|
211
|
+
rubygems_mfa_required: 'true'
|
|
212
|
+
post_install_message:
|
|
213
213
|
rdoc_options: []
|
|
214
214
|
require_paths:
|
|
215
215
|
- lib
|
|
@@ -217,16 +217,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
217
217
|
requirements:
|
|
218
218
|
- - ">="
|
|
219
219
|
- !ruby/object:Gem::Version
|
|
220
|
-
version: 2.
|
|
220
|
+
version: 2.7.0
|
|
221
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
222
|
requirements:
|
|
223
223
|
- - ">="
|
|
224
224
|
- !ruby/object:Gem::Version
|
|
225
225
|
version: '0'
|
|
226
226
|
requirements: []
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
signing_key:
|
|
227
|
+
rubygems_version: 3.4.20
|
|
228
|
+
signing_key:
|
|
230
229
|
specification_version: 4
|
|
231
230
|
summary: Simple, efficient background processing for Ruby
|
|
232
231
|
test_files: []
|
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
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
sudo: false
|
|
3
|
-
cache: bundler
|
|
4
|
-
services:
|
|
5
|
-
- redis-server
|
|
6
|
-
before_install:
|
|
7
|
-
- gem update --system
|
|
8
|
-
gemfile:
|
|
9
|
-
- gemfiles/rails_4.gemfile
|
|
10
|
-
- gemfiles/rails_5.gemfile
|
|
11
|
-
bundler_args: --without development load_test
|
|
12
|
-
rvm:
|
|
13
|
-
- 2.3.7
|
|
14
|
-
- 2.4.4
|
|
15
|
-
- 2.5.1
|
|
16
|
-
- 2.6.0
|
|
17
|
-
- jruby
|