sidekiq 7.3.8 → 7.3.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec7c9a4bea6982200a069a9a2f7c134811ccbf1aaceb56a8cb708893cab6e301
4
- data.tar.gz: e59152e78eccbf714e485a7772e3a62681974abd114ebd608432c5ab93f55211
3
+ metadata.gz: dccc402e8f4e309a47a2adb62418fa29989012e8c94f34aa11200b098dc375f2
4
+ data.tar.gz: 71b64a582d5971b045d60bae38dc26da265b60ff9a099ca3b2f9c7df9035e805
5
5
  SHA512:
6
- metadata.gz: 5aac99a9f1a385baaac0204c2799b9821c2146ca045eb2cdabc92ac54da8f20ae6239183eed5256bd96e8c45a8538596aa13714f5dc8fb4943565ec86df16dc9
7
- data.tar.gz: 7ae68faedfc60d2354335709e36b51d9217bead4bfcf2e2d9d60a4b321cfcafdf931680f298bae061ac412e26d898b82dc7c7f15549909834f93251f7745bb13
6
+ metadata.gz: d9148b613a222ca9617ceebe25bb04a5d086edacdafad4a426b6232662d3b583db462dc5e0491297f7859037c5166bcb541bddcd3949f6d3b5a1c2e3fc572b65
7
+ data.tar.gz: 93a797cefd1a68adb236c7538c28571467c328d6965af0bc5ce505a1391d6f5b6e2ae2c87b42110e837dcfa8d788aff55309806bbb1bcd181e205c3bc66adc29
data/Changes.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  [Sidekiq Changes](https://github.com/sidekiq/sidekiq/blob/main/Changes.md) | [Sidekiq Pro Changes](https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md)
4
4
 
5
+ 7.3.9
6
+ ----------
7
+
8
+ - Only require activejob if necessary [#6584]
9
+ - Fix iterable job cancellation [#6589]
10
+ - Web UI accessibility improvements [#6604]
11
+
5
12
  7.3.8
6
13
  ----------
7
14
 
@@ -1,18 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Sidekiq
4
- module ActiveJob
5
- # @api private
6
- class Wrapper
7
- include Sidekiq::Job
8
-
9
- def perform(job_data)
10
- ::ActiveJob::Base.execute(job_data.merge("provider_job_id" => jid))
11
- end
12
- end
13
- end
14
- end
15
-
16
3
  module ActiveJob
17
4
  module QueueAdapters
18
5
  # Explicitly remove the implementation existing in older rails'.
@@ -200,7 +200,7 @@ module Sidekiq
200
200
  if ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) - state_flushed_at >= STATE_FLUSH_INTERVAL || is_interrupted
201
201
  _, _, cancelled = flush_state
202
202
  state_flushed_at = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
203
- if cancelled == 1
203
+ if cancelled
204
204
  @_cancelled = true
205
205
  logger.info { "Job cancelled" }
206
206
  return true
data/lib/sidekiq/rails.rb CHANGED
@@ -4,6 +4,17 @@ require "sidekiq/job"
4
4
  require "rails"
5
5
 
6
6
  module Sidekiq
7
+ module ActiveJob
8
+ # @api private
9
+ class Wrapper
10
+ include Sidekiq::Job
11
+
12
+ def perform(job_data)
13
+ ::ActiveJob::Base.execute(job_data.merge("provider_job_id" => jid))
14
+ end
15
+ end
16
+ end
17
+
7
18
  class Rails < ::Rails::Engine
8
19
  class Reloader
9
20
  def initialize(app = ::Rails.application)
@@ -38,9 +49,8 @@ module Sidekiq
38
49
  # end
39
50
  # end
40
51
  initializer "sidekiq.active_job_integration" do
41
- require "active_job/queue_adapters/sidekiq_adapter"
42
-
43
52
  ActiveSupport.on_load(:active_job) do
53
+ require_relative "../active_job/queue_adapters/sidekiq_adapter"
44
54
  include ::Sidekiq::Job::Options unless respond_to?(:sidekiq_options)
45
55
  end
46
56
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sidekiq
4
- VERSION = "7.3.8"
4
+ VERSION = "7.3.9"
5
5
  MAJOR = 7
6
6
 
7
7
  def self.gem_version
@@ -83,6 +83,8 @@ class RealtimeChart extends DashboardChart {
83
83
  this.chart.data.datasets[1].data.push(failed);
84
84
  this.chart.update();
85
85
 
86
+ updateScreenReaderDashboardValues(processed, failed);
87
+
86
88
  updateStatsSummary(this.stats.sidekiq);
87
89
  updateRedisStats(this.stats.redis);
88
90
  updateFooterUTCTime(this.stats.server_utc_time);
@@ -36,6 +36,12 @@ var ready = (callback) => {
36
36
  else document.addEventListener("DOMContentLoaded", callback);
37
37
  }
38
38
 
39
+ var updateScreenReaderDashboardValues = function(processed, failed) {
40
+ let lastDashboardUpdateSpan = document.getElementById("sr-last-dashboard-update");
41
+ var updateText = document.getElementById("sr-last-dashboard-update-template").innerText;
42
+ lastDashboardUpdateSpan.innerText = updateText.replace("PROCESSED_COUNT", processed).replace("FAILED_COUNT", failed);
43
+ }
44
+
39
45
  ready(() => {
40
46
  var sldr = document.getElementById('sldr');
41
47
  if (typeof localStorage.sidekiqTimeInterval !== 'undefined') {
data/web/locales/en.yml CHANGED
@@ -34,6 +34,8 @@ en:
34
34
  Jobs: Jobs
35
35
  Kill: Kill
36
36
  KillAll: Kill All
37
+ Language: Language
38
+ LastDashboardUpdateTemplateLiteral: "Latest poll: Processed: PROCESSED_COUNT. Failed: FAILED_COUNT."
37
39
  LastRetry: Last Retry
38
40
  Latency: Latency
39
41
  LivePoll: Live Poll
@@ -53,6 +55,7 @@ en:
53
55
  PeakMemoryUsage: Peak Memory Usage
54
56
  Plugins: Plugins
55
57
  PollingInterval: Polling interval
58
+ PollingIntervalMilliseconds: Polling interval milliseconds
56
59
  Process: Process
57
60
  Processed: Processed
58
61
  Processes: Processes
@@ -17,8 +17,7 @@
17
17
  <li>
18
18
  <form id="locale-form" class="form-inline" action="<%= root_path %>change_locale" method="post">
19
19
  <%= csrf_tag %>
20
- <label class="sr-only" for="locale">Language</label>
21
- <select id="locale-select" class="form-control" name="locale">
20
+ <select id="locale-select" class="form-control" aria-label="<%= t("Language") %>" name="locale">
22
21
  <% available_locales.each do |locale_option| %>
23
22
  <% if locale_option == locale %>
24
23
  <option selected value="<%= locale_option %>"><%= locale_option %></option>
@@ -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'),
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.8
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: 2025-01-20 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
@@ -231,7 +230,6 @@ metadata:
231
230
  changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
232
231
  source_code_uri: https://github.com/sidekiq/sidekiq
233
232
  rubygems_mfa_required: 'true'
234
- post_install_message:
235
233
  rdoc_options: []
236
234
  require_paths:
237
235
  - lib
@@ -246,8 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
244
  - !ruby/object:Gem::Version
247
245
  version: '0'
248
246
  requirements: []
249
- rubygems_version: 3.5.22
250
- signing_key:
247
+ rubygems_version: 3.6.2
251
248
  specification_version: 4
252
249
  summary: Simple, efficient background processing for Ruby
253
250
  test_files: []