sidekiq 7.2.4 → 7.3.0

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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/sidekiq/api.rb +1 -1
  5. data/lib/sidekiq/capsule.rb +3 -0
  6. data/lib/sidekiq/cli.rb +1 -0
  7. data/lib/sidekiq/client.rb +2 -2
  8. data/lib/sidekiq/config.rb +5 -1
  9. data/lib/sidekiq/fetch.rb +1 -1
  10. data/lib/sidekiq/iterable_job.rb +53 -0
  11. data/lib/sidekiq/job/interrupt_handler.rb +22 -0
  12. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  13. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  14. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  15. data/lib/sidekiq/job/iterable.rb +231 -0
  16. data/lib/sidekiq/job.rb +13 -2
  17. data/lib/sidekiq/job_logger.rb +23 -10
  18. data/lib/sidekiq/job_retry.rb +6 -1
  19. data/lib/sidekiq/middleware/current_attributes.rb +27 -11
  20. data/lib/sidekiq/processor.rb +11 -1
  21. data/lib/sidekiq/redis_client_adapter.rb +8 -5
  22. data/lib/sidekiq/redis_connection.rb +25 -1
  23. data/lib/sidekiq/version.rb +1 -1
  24. data/lib/sidekiq/web/action.rb +2 -1
  25. data/lib/sidekiq/web/application.rb +8 -4
  26. data/lib/sidekiq/web/helpers.rb +53 -7
  27. data/lib/sidekiq/web.rb +46 -1
  28. data/lib/sidekiq.rb +2 -1
  29. data/sidekiq.gemspec +2 -1
  30. data/web/assets/javascripts/application.js +6 -1
  31. data/web/assets/javascripts/dashboard-charts.js +22 -12
  32. data/web/assets/javascripts/dashboard.js +1 -1
  33. data/web/assets/stylesheets/application.css +13 -1
  34. data/web/locales/tr.yml +101 -0
  35. data/web/views/dashboard.erb +6 -6
  36. data/web/views/layout.erb +6 -6
  37. data/web/views/metrics.erb +4 -4
  38. data/web/views/metrics_for_job.erb +4 -4
  39. metadata +26 -5
@@ -0,0 +1,101 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ tr:
3
+ Actions: Eylemler
4
+ AddToQueue: Kuyruğa ekle
5
+ AreYouSure: Emin misiniz?
6
+ AreYouSureDeleteJob: Bu işi silmek istediğinizden emin misiniz?
7
+ AreYouSureDeleteQueue: %{queue} kuyruğunu silmek istediğinizden emin misiniz?
8
+ Arguments: Argümanlar
9
+ BackToApp: Uygulamaya geri dön
10
+ Busy: Meşgul
11
+ Class: Sınıf
12
+ Connections: Bağlantılar
13
+ CreatedAt: Oluşturulma Tarihi
14
+ CurrentMessagesInQueue: Şu anki işler <span class='title'>%{queue}</span>
15
+ Dashboard: Gösterge Paneli
16
+ Dead: Ölü
17
+ DeadJobs: Ölü İşler
18
+ Delete: Sil
19
+ DeleteAll: Hepsini Sil
20
+ Deploy: Dağıt
21
+ Enqueued: Kuyruğa Alındı
22
+ Error: Hata
23
+ ErrorBacktrace: Hata Geri İzleme
24
+ ErrorClass: Hata Sınıfı
25
+ ErrorMessage: Hata Mesajı
26
+ ExecutionTime: Yürütme Süresi
27
+ Extras: Ekstralar
28
+ Failed: Başarısız
29
+ Failures: Başarısızlıklar
30
+ Failure: Başarısızlık
31
+ GoBack: ← Geri Dön
32
+ History: Geçmiş
33
+ Job: İş
34
+ Jobs: İşler
35
+ Kill: Sonlandır
36
+ KillAll: Hepsini Sonlandır
37
+ LastRetry: Son Yeniden Deneme
38
+ Latency: Gecikme
39
+ LivePoll: Canlı Anket
40
+ MemoryUsage: Bellek Kullanımı
41
+ Name: İsim
42
+ Namespace: Ad Alanı
43
+ NextRetry: Bir Sonraki Yeniden Deneme
44
+ NoDeadJobsFound: Ölü iş bulunamadı
45
+ NoRetriesFound: Yeniden deneme bulunamadı
46
+ NoScheduledFound: Zamanlanmış iş bulunamadı
47
+ NotYetEnqueued: Henüz kuyruğa alınmadı
48
+ OneMonth: 1 ay
49
+ OneWeek: 1 hafta
50
+ OriginallyFailed: İlk Başarısızlık
51
+ Pause: Duraklat
52
+ Paused: Duraklatıldı
53
+ PeakMemoryUsage: Maksimum Bellek Kullanımı
54
+ Plugins: Eklentiler
55
+ PollingInterval: Anket Aralığı
56
+ Process: Süreç
57
+ Processed: İşlendi
58
+ Processes: Süreçler
59
+ Queue: Kuyruk
60
+ Queues: Kuyruklar
61
+ Quiet: Sessiz
62
+ QuietAll: Hepsini Sessiz Yap
63
+ Realtime: Gerçek Zamanlı
64
+ Retries: Yeniden Denemeler
65
+ RetryAll: Hepsini Yeniden Dene
66
+ RetryCount: Yeniden Deneme Sayısı
67
+ RetryNow: Şimdi Yeniden Dene
68
+ Scheduled: Zamanlanmış
69
+ ScheduledJobs: Zamanlanmış İşler
70
+ Seconds: Saniye
71
+ ShowAll: Hepsini Göster
72
+ SixMonths: 6 ay
73
+ Size: Boyut
74
+ Started: Başlatıldı
75
+ Status: Durum
76
+ Stop: Durdur
77
+ StopAll: Hepsini Durdur
78
+ StopPolling: Anketi Durdur
79
+ Success: Başarı
80
+ Summary: Özet
81
+ Thread: İplik
82
+ Threads: İplikler
83
+ ThreeMonths: 3 ay
84
+ Time: Zaman
85
+ Unpause: Duraklatmayı Kaldır
86
+ Uptime: Çalışma Süresi (gün)
87
+ Utilization: Kullanım
88
+ Version: Sürüm
89
+ When: Ne Zaman
90
+ Worker: İşçi
91
+ active: aktif
92
+ idle: boşta
93
+ Metrics: Metrikler
94
+ NoDataFound: Veri bulunamadı
95
+ TotalExecutionTime: Toplam Yürütme Süresi
96
+ AvgExecutionTime: Ortalama Yürütme Süresi
97
+ Context: Bağlam
98
+ Bucket: Kova
99
+ NoJobMetricsFound: Son iş metrikleri bulunamadı
100
+ Filter: Filtre
101
+ AnyJobContent: Herhangi bir iş içeriği
@@ -1,4 +1,4 @@
1
- <script type="text/javascript" src="<%= root_path %>javascripts/dashboard.js"></script>
1
+ <script type="text/javascript" src="<%= root_path %>javascripts/dashboard.js" nonce="<%= csp_nonce %>"></script>
2
2
  <div class= "dashboard clearfix">
3
3
  <h3 >
4
4
  <%= t('Dashboard') %>
@@ -9,7 +9,7 @@
9
9
  </h3>
10
10
  <div class="interval-slider ltr">
11
11
  <span class="interval-slider-label"><%= t('PollingInterval') %>:</span>
12
- <span id="sldr-text" class="current-interval">5 sec</span>
12
+ <span id="sldr-text" class="current-interval">5 s</span>
13
13
  <br/>
14
14
  <input id="sldr" type="range" min="2000" max="20000" step="1000" value="5000"/>
15
15
  </div>
@@ -99,7 +99,7 @@
99
99
  </div>
100
100
  </div>
101
101
 
102
- <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js"></script>
103
- <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js"></script>
104
- <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js"></script>
105
- <script type="text/javascript" src="<%= root_path %>javascripts/dashboard-charts.js"></script>
102
+ <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js" nonce="<%= csp_nonce %>"></script>
103
+ <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js" nonce="<%= csp_nonce %>"></script>
104
+ <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js" nonce="<%= csp_nonce %>"></script>
105
+ <script type="text/javascript" src="<%= root_path %>javascripts/dashboard-charts.js" nonce="<%= csp_nonce %>"></script>
data/web/views/layout.erb CHANGED
@@ -5,20 +5,20 @@
5
5
  <meta charset="utf-8" />
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
7
 
8
- <link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
8
+ <link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>" />
9
9
  <% if rtl? %>
10
- <link href="<%= root_path %>stylesheets/bootstrap-rtl.min.css" media="screen" rel="stylesheet" type="text/css"/>
10
+ <link href="<%= root_path %>stylesheets/bootstrap-rtl.min.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>"/>
11
11
  <% end %>
12
12
 
13
- <link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
14
- <link href="<%= root_path %>stylesheets/application-dark.css" media="screen and (prefers-color-scheme: dark)" rel="stylesheet" type="text/css" />
13
+ <link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>" />
14
+ <link href="<%= root_path %>stylesheets/application-dark.css" media="screen and (prefers-color-scheme: dark)" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>" />
15
15
  <% if rtl? %>
16
- <link href="<%= root_path %>stylesheets/application-rtl.css" media="screen" rel="stylesheet" type="text/css" />
16
+ <link href="<%= root_path %>stylesheets/application-rtl.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>" />
17
17
  <% end %>
18
18
 
19
19
  <link rel="apple-touch-icon" href="<%= root_path %>images/apple-touch-icon.png">
20
20
  <link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
21
- <script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
21
+ <script type="text/javascript" src="<%= root_path %>javascripts/application.js" nonce="<%= csp_nonce %>"></script>
22
22
  <meta name="google" content="notranslate" />
23
23
  <%= display_custom_head %>
24
24
  </head>
@@ -1,6 +1,6 @@
1
- <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js"></script>
2
- <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js"></script>
3
- <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js"></script>
1
+ <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js" nonce="<%= csp_nonce %>"></script>
2
+ <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js" nonce="<%= csp_nonce %>"></script>
3
+ <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js" nonce="<%= csp_nonce %>"></script>
4
4
 
5
5
  <div class="header-container">
6
6
  <div class="page-title-container">
@@ -88,4 +88,4 @@
88
88
 
89
89
  <!--p><small>Data from <%= @query_result.starts_at %> to <%= @query_result.ends_at %></small></p-->
90
90
 
91
- <script type="text/javascript" src="<%= root_path %>javascripts/metrics.js"></script>
91
+ <script type="text/javascript" src="<%= root_path %>javascripts/metrics.js" nonce="<%= csp_nonce %>"></script>
@@ -1,6 +1,6 @@
1
- <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js"></script>
2
- <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js"></script>
3
- <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js"></script>
1
+ <script type="text/javascript" src="<%= root_path %>javascripts/chart.min.js" nonce="<%= csp_nonce %>"></script>
2
+ <script type="text/javascript" src="<%= root_path %>javascripts/chartjs-plugin-annotation.min.js" nonce="<%= csp_nonce %>"></script>
3
+ <script type="text/javascript" src="<%= root_path %>javascripts/base-charts.js" nonce="<%= csp_nonce %>"></script>
4
4
 
5
5
  <%
6
6
  job_result = @query_result.job_results[@name]
@@ -56,4 +56,4 @@
56
56
  <div class="alert alert-success"><%= t('NoJobMetricsFound') %></div>
57
57
  <% end %>
58
58
 
59
- <script type="text/javascript" src="<%= root_path %>javascripts/metrics.js"></script>
59
+ <script type="text/javascript" src="<%= root_path %>javascripts/metrics.js" nonce="<%= csp_nonce %>"></script>
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: 7.2.4
4
+ version: 7.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-26 00:00:00.000000000 Z
11
+ date: 2024-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.0
19
+ version: 0.22.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.19.0
26
+ version: 0.22.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: connection_pool
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "<"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: logger
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Simple, efficient background processing for Ruby.
70
84
  email:
71
85
  - info@contribsys.com
@@ -96,7 +110,13 @@ files:
96
110
  - lib/sidekiq/deploy.rb
97
111
  - lib/sidekiq/embedded.rb
98
112
  - lib/sidekiq/fetch.rb
113
+ - lib/sidekiq/iterable_job.rb
99
114
  - lib/sidekiq/job.rb
115
+ - lib/sidekiq/job/interrupt_handler.rb
116
+ - lib/sidekiq/job/iterable.rb
117
+ - lib/sidekiq/job/iterable/active_record_enumerator.rb
118
+ - lib/sidekiq/job/iterable/csv_enumerator.rb
119
+ - lib/sidekiq/job/iterable/enumerators.rb
100
120
  - lib/sidekiq/job_logger.rb
101
121
  - lib/sidekiq/job_retry.rb
102
122
  - lib/sidekiq/job_util.rb
@@ -172,6 +192,7 @@ files:
172
192
  - web/locales/ru.yml
173
193
  - web/locales/sv.yml
174
194
  - web/locales/ta.yml
195
+ - web/locales/tr.yml
175
196
  - web/locales/uk.yml
176
197
  - web/locales/ur.yml
177
198
  - web/locales/vi.yml
@@ -224,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
245
  - !ruby/object:Gem::Version
225
246
  version: '0'
226
247
  requirements: []
227
- rubygems_version: 3.4.20
248
+ rubygems_version: 3.5.11
228
249
  signing_key:
229
250
  specification_version: 4
230
251
  summary: Simple, efficient background processing for Ruby