sidekiq 7.3.0 → 7.3.9

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +81 -0
  3. data/bin/sidekiqload +21 -12
  4. data/lib/active_job/queue_adapters/sidekiq_adapter.rb +75 -0
  5. data/lib/generators/sidekiq/job_generator.rb +2 -0
  6. data/lib/sidekiq/api.rb +62 -33
  7. data/lib/sidekiq/capsule.rb +5 -3
  8. data/lib/sidekiq/cli.rb +1 -1
  9. data/lib/sidekiq/client.rb +21 -1
  10. data/lib/sidekiq/component.rb +22 -0
  11. data/lib/sidekiq/config.rb +22 -2
  12. data/lib/sidekiq/deploy.rb +2 -0
  13. data/lib/sidekiq/embedded.rb +2 -0
  14. data/lib/sidekiq/iterable_job.rb +2 -0
  15. data/lib/sidekiq/job/interrupt_handler.rb +2 -0
  16. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +3 -3
  17. data/lib/sidekiq/job/iterable.rb +69 -6
  18. data/lib/sidekiq/job_logger.rb +11 -23
  19. data/lib/sidekiq/job_util.rb +2 -0
  20. data/lib/sidekiq/launcher.rb +1 -1
  21. data/lib/sidekiq/metrics/query.rb +2 -0
  22. data/lib/sidekiq/metrics/shared.rb +15 -4
  23. data/lib/sidekiq/metrics/tracking.rb +13 -5
  24. data/lib/sidekiq/middleware/current_attributes.rb +19 -2
  25. data/lib/sidekiq/middleware/modules.rb +2 -0
  26. data/lib/sidekiq/monitor.rb +2 -1
  27. data/lib/sidekiq/paginator.rb +6 -0
  28. data/lib/sidekiq/processor.rb +10 -10
  29. data/lib/sidekiq/rails.rb +12 -0
  30. data/lib/sidekiq/redis_connection.rb +8 -1
  31. data/lib/sidekiq/ring_buffer.rb +2 -0
  32. data/lib/sidekiq/systemd.rb +2 -0
  33. data/lib/sidekiq/testing.rb +5 -5
  34. data/lib/sidekiq/version.rb +5 -1
  35. data/lib/sidekiq/web/action.rb +20 -4
  36. data/lib/sidekiq/web/application.rb +36 -79
  37. data/lib/sidekiq/web/helpers.rb +11 -10
  38. data/lib/sidekiq/web/router.rb +5 -2
  39. data/lib/sidekiq/web.rb +8 -1
  40. data/lib/sidekiq.rb +4 -3
  41. data/sidekiq.gemspec +1 -1
  42. data/web/assets/javascripts/dashboard-charts.js +2 -0
  43. data/web/assets/javascripts/dashboard.js +6 -0
  44. data/web/assets/stylesheets/application.css +9 -8
  45. data/web/locales/en.yml +3 -1
  46. data/web/locales/fr.yml +0 -1
  47. data/web/locales/gd.yml +0 -1
  48. data/web/locales/it.yml +32 -1
  49. data/web/locales/ja.yml +0 -1
  50. data/web/locales/pt-br.yml +1 -2
  51. data/web/locales/tr.yml +1 -2
  52. data/web/locales/uk.yml +24 -1
  53. data/web/locales/zh-cn.yml +0 -1
  54. data/web/locales/zh-tw.yml +0 -1
  55. data/web/views/_footer.erb +1 -2
  56. data/web/views/dashboard.erb +4 -1
  57. data/web/views/filtering.erb +1 -2
  58. data/web/views/metrics.erb +3 -4
  59. data/web/views/morgue.erb +2 -2
  60. data/web/views/queue.erb +1 -1
  61. metadata +10 -12
@@ -11,11 +11,14 @@
11
11
  <span class="interval-slider-label"><%= t('PollingInterval') %>:</span>
12
12
  <span id="sldr-text" class="current-interval">5 s</span>
13
13
  <br/>
14
- <input id="sldr" type="range" min="2000" max="20000" step="1000" value="5000"/>
14
+ <input id="sldr" aria-label="<%= t("PollingIntervalMilliseconds") %>" type="range" min="2000" max="20000" step="1000" value="5000"/>
15
15
  </div>
16
16
  </div>
17
17
 
18
18
  <div class="row chart">
19
+ <span id="sr-last-dashboard-update-template" hidden="hidden"><%= t("LastDashboardUpdateTemplateLiteral") %></span>
20
+ <span id="sr-last-dashboard-update" class="sr-only" role="status"></span>
21
+
19
22
  <canvas id="realtime-chart">
20
23
  <%= to_json({
21
24
  processedLabel: t('Processed'),
@@ -1,6 +1,5 @@
1
1
  <div>
2
- <form method="post" class="form-inline" action='<%= root_path %>filter/<%= which %>'>
3
- <%= csrf_tag %>
2
+ <form method="get" class="form-inline" action='<%= root_path %><%= which %>'>
4
3
  <label for="substr"><%= t('Filter') %></label>
5
4
  <input class="search form-control" type="search" name="substr" value="<%= h params[:substr] %>" placeholder="<%= t('AnyJobContent') %>"/>
6
5
  </form>
@@ -9,8 +9,7 @@
9
9
  </div>
10
10
 
11
11
  <div>
12
- <form id="metrics-form" class="form-inline" action="<%= root_path %>filter/metrics" method="post">
13
- <%= csrf_tag %>
12
+ <form id="metrics-form" class="form-inline" action="<%= root_path %>metrics" method="get">
14
13
  <label for="substr"><%= t('Filter') %></label>
15
14
  <input id="class-filter" class="form-control" type="text" name="substr" placeholder="<%= t('Name') %>" value="<%= h params[:substr] %>">
16
15
  <select id="period-selector" class="form-control" name="period">
@@ -54,8 +53,8 @@
54
53
  <th><%= t('Name') %></th>
55
54
  <th><%= t('Success') %></th>
56
55
  <th><%= t('Failure') %></th>
57
- <th><%= t('TotalExecutionTime') %> (Seconds)</th>
58
- <th><%= t('AvgExecutionTime') %> (Seconds)</th>
56
+ <th><%= t('TotalExecutionTime') %> (<%= t('Seconds') %>)</th>
57
+ <th><%= t('AvgExecutionTime') %> (<%= t('Seconds') %>)</th>
59
58
  </tr>
60
59
  <% if job_results.any? %>
61
60
  <% job_results.each_with_index do |(kls, jr), i| %>
data/web/views/morgue.erb CHANGED
@@ -3,7 +3,7 @@
3
3
  <% if @dead.size > 0 && @total_size > @count %>
4
4
  <%= erb :_paging, locals: { url: "#{root_path}morgue" } %>
5
5
  <% end %>
6
- <%= filtering('dead') %>
6
+ <%= filtering('morgue') %>
7
7
  </div>
8
8
 
9
9
  <% if @dead.size > 0 %>
@@ -40,7 +40,7 @@
40
40
  </td>
41
41
  <td>
42
42
  <%= entry.display_class %>
43
- <%= display_tags(entry, "dead") %>
43
+ <%= display_tags(entry, "morgue") %>
44
44
  </td>
45
45
  <td>
46
46
  <div class="args"><%= display_args(entry.display_args) %></div>
data/web/views/queue.erb CHANGED
@@ -15,7 +15,7 @@
15
15
  <th><%= t('Job') %></th>
16
16
  <th><%= t('Arguments') %></th>
17
17
  <th><%= t('Context') %></th>
18
- <th></th>
18
+ <th><%= t('Actions') %></th>
19
19
  </thead>
20
20
  <% @jobs.each_with_index do |job, index| %>
21
21
  <tr title="<%= job.jid %>">
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.0
4
+ version: 7.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-07-01 00:00:00.000000000 Z
10
+ date: 2025-02-14 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: redis-client
@@ -53,21 +52,21 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: 2.2.4
55
54
  - !ruby/object:Gem::Dependency
56
- name: concurrent-ruby
55
+ name: logger
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - "<"
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
- version: '2'
60
+ version: '0'
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
- - - "<"
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
- version: '2'
67
+ version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
- name: logger
69
+ name: base64
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - ">="
@@ -96,6 +95,7 @@ files:
96
95
  - bin/sidekiq
97
96
  - bin/sidekiqload
98
97
  - bin/sidekiqmon
98
+ - lib/active_job/queue_adapters/sidekiq_adapter.rb
99
99
  - lib/generators/sidekiq/job_generator.rb
100
100
  - lib/generators/sidekiq/templates/job.rb.erb
101
101
  - lib/generators/sidekiq/templates/job_spec.rb.erb
@@ -230,7 +230,6 @@ metadata:
230
230
  changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
231
231
  source_code_uri: https://github.com/sidekiq/sidekiq
232
232
  rubygems_mfa_required: 'true'
233
- post_install_message:
234
233
  rdoc_options: []
235
234
  require_paths:
236
235
  - lib
@@ -245,8 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
244
  - !ruby/object:Gem::Version
246
245
  version: '0'
247
246
  requirements: []
248
- rubygems_version: 3.5.11
249
- signing_key:
247
+ rubygems_version: 3.6.2
250
248
  specification_version: 4
251
249
  summary: Simple, efficient background processing for Ruby
252
250
  test_files: []