sidekiq 4.2.10 → 6.1.2
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.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
- data/.github/workflows/ci.yml +41 -0
- data/.gitignore +2 -1
- data/.standard.yml +20 -0
- data/5.0-Upgrade.md +56 -0
- data/6.0-Upgrade.md +72 -0
- data/COMM-LICENSE +12 -10
- data/Changes.md +354 -1
- data/Ent-2.0-Upgrade.md +37 -0
- data/Ent-Changes.md +111 -3
- data/Gemfile +16 -21
- data/Gemfile.lock +192 -0
- data/LICENSE +1 -1
- data/Pro-4.0-Upgrade.md +35 -0
- data/Pro-5.0-Upgrade.md +25 -0
- data/Pro-Changes.md +181 -4
- data/README.md +19 -33
- data/Rakefile +6 -8
- data/bin/sidekiq +26 -2
- data/bin/sidekiqload +37 -34
- data/bin/sidekiqmon +8 -0
- data/lib/generators/sidekiq/templates/worker_spec.rb.erb +1 -1
- data/lib/generators/sidekiq/templates/worker_test.rb.erb +1 -1
- data/lib/generators/sidekiq/worker_generator.rb +21 -13
- data/lib/sidekiq.rb +86 -61
- data/lib/sidekiq/api.rb +320 -209
- data/lib/sidekiq/cli.rb +207 -217
- data/lib/sidekiq/client.rb +78 -51
- data/lib/sidekiq/delay.rb +41 -0
- data/lib/sidekiq/exception_handler.rb +12 -16
- data/lib/sidekiq/extensions/action_mailer.rb +13 -22
- data/lib/sidekiq/extensions/active_record.rb +13 -10
- data/lib/sidekiq/extensions/class_methods.rb +14 -11
- data/lib/sidekiq/extensions/generic_proxy.rb +10 -4
- data/lib/sidekiq/fetch.rb +29 -30
- data/lib/sidekiq/job_logger.rb +63 -0
- data/lib/sidekiq/job_retry.rb +262 -0
- data/lib/sidekiq/launcher.rb +102 -69
- data/lib/sidekiq/logger.rb +165 -0
- data/lib/sidekiq/manager.rb +16 -19
- data/lib/sidekiq/middleware/chain.rb +15 -5
- data/lib/sidekiq/middleware/i18n.rb +5 -7
- data/lib/sidekiq/monitor.rb +133 -0
- data/lib/sidekiq/paginator.rb +18 -14
- data/lib/sidekiq/processor.rb +161 -82
- data/lib/sidekiq/rails.rb +27 -100
- data/lib/sidekiq/redis_connection.rb +60 -20
- data/lib/sidekiq/scheduled.rb +61 -35
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +24 -0
- data/lib/sidekiq/testing.rb +48 -28
- data/lib/sidekiq/testing/inline.rb +2 -1
- data/lib/sidekiq/util.rb +20 -16
- data/lib/sidekiq/version.rb +2 -1
- data/lib/sidekiq/web.rb +57 -57
- data/lib/sidekiq/web/action.rb +14 -14
- data/lib/sidekiq/web/application.rb +103 -84
- data/lib/sidekiq/web/csrf_protection.rb +158 -0
- data/lib/sidekiq/web/helpers.rb +126 -71
- data/lib/sidekiq/web/router.rb +18 -17
- data/lib/sidekiq/worker.rb +164 -41
- data/sidekiq.gemspec +15 -27
- data/web/assets/javascripts/application.js +25 -27
- data/web/assets/javascripts/dashboard.js +33 -37
- data/web/assets/stylesheets/application-dark.css +143 -0
- data/web/assets/stylesheets/application-rtl.css +246 -0
- data/web/assets/stylesheets/application.css +385 -10
- data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
- data/web/assets/stylesheets/bootstrap.css +2 -2
- data/web/locales/ar.yml +81 -0
- data/web/locales/de.yml +14 -2
- data/web/locales/en.yml +4 -0
- data/web/locales/es.yml +4 -3
- data/web/locales/fa.yml +1 -0
- data/web/locales/fr.yml +2 -2
- data/web/locales/he.yml +79 -0
- data/web/locales/ja.yml +9 -4
- data/web/locales/lt.yml +83 -0
- data/web/locales/pl.yml +4 -4
- data/web/locales/ru.yml +4 -0
- data/web/locales/ur.yml +80 -0
- data/web/locales/vi.yml +83 -0
- data/web/views/_footer.erb +5 -2
- data/web/views/_job_info.erb +2 -1
- data/web/views/_nav.erb +4 -18
- data/web/views/_paging.erb +1 -1
- data/web/views/busy.erb +15 -8
- data/web/views/dashboard.erb +1 -1
- data/web/views/dead.erb +2 -2
- data/web/views/layout.erb +12 -2
- data/web/views/morgue.erb +9 -6
- data/web/views/queue.erb +18 -8
- data/web/views/queues.erb +11 -1
- data/web/views/retries.erb +14 -7
- data/web/views/retry.erb +2 -2
- data/web/views/scheduled.erb +7 -4
- metadata +41 -188
- data/.github/issue_template.md +0 -9
- data/.travis.yml +0 -18
- data/bin/sidekiqctl +0 -99
- data/lib/sidekiq/core_ext.rb +0 -119
- data/lib/sidekiq/logging.rb +0 -106
- data/lib/sidekiq/middleware/server/active_record.rb +0 -13
- data/lib/sidekiq/middleware/server/logging.rb +0 -31
- data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
data/web/locales/ur.yml
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
ur:
|
3
|
+
TextDirection: 'rtl'
|
4
|
+
Dashboard: صفحۂ اول
|
5
|
+
Status: اسٹیٹس
|
6
|
+
Time: ﻭﻗﺖ
|
7
|
+
Namespace: Namespace
|
8
|
+
Realtime: ﺑﺮاﮦ ﺭاﺳﺖ
|
9
|
+
History: ﺗﺎﺭﻳﺦ
|
10
|
+
Busy: مصروف
|
11
|
+
Processed: مکمل شدہ
|
12
|
+
Failed: ﻧﺎکاﻡ ﺷﺪﮦ
|
13
|
+
Scheduled: ﻁےﺷﺪﮦ
|
14
|
+
Retries: ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ
|
15
|
+
Enqueued: قطار ميں شامل
|
16
|
+
Worker: ورکر
|
17
|
+
LivePoll: ﺑﺮاﮦ ﺭاﺳﺖ
|
18
|
+
StopPolling: ﺑﺮاﮦ ﺭاﺳﺖ روکيے
|
19
|
+
Queue: قطار
|
20
|
+
Class: کلاس
|
21
|
+
Job: جاب
|
22
|
+
Arguments: دلائل
|
23
|
+
Extras: اﺻﺎﻑی
|
24
|
+
Started: شروع
|
25
|
+
ShowAll: سارے دکھاو
|
26
|
+
CurrentMessagesInQueue: قطار ميں موجود تمام پيغامات <span class='title'>%{queue}</span>
|
27
|
+
AddToQueue: ﻗﻄﺎﺭ ميں شامل کريں
|
28
|
+
AreYouSureDeleteJob: کيا آپ یقین جاب حتم کرنا چاھتے ہيں ؟
|
29
|
+
AreYouSureDeleteQueue: کيا آپ یقین قطار حتم کرنا چاھتے ہيں ؟
|
30
|
+
Delete: ﺣﺬﻑ
|
31
|
+
Queues: قطاريں
|
32
|
+
Size: ﺣﺠﻢ
|
33
|
+
Actions: ﻋﻮاﻣﻞ
|
34
|
+
NextRetry: اگلی کﻭﺷﻴﺶ
|
35
|
+
RetryCount: دوبارہ کوشش کا مکمل شمار
|
36
|
+
RetryNow: ابھی دوبارہ کوشش
|
37
|
+
Kill: ختم کرديں
|
38
|
+
LastRetry: گزشتہ کوشش
|
39
|
+
OriginallyFailed: ابتادائ ناکامی
|
40
|
+
AreYouSure: کيا یقین ؟
|
41
|
+
DeleteAll: ﺗﻤﺎﻡ ﺣﺬﻑ کر ديں
|
42
|
+
RetryAll: ﺗﻤﺎﻡ کی ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ کﺭيں
|
43
|
+
NoRetriesFound: کویٔ ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ نھيں ملی
|
44
|
+
Error: مسئلہ
|
45
|
+
ErrorClass: مسئلہ کی کلاس
|
46
|
+
ErrorMessage: مسئلہ کی وجہ
|
47
|
+
ErrorBacktrace: مسئلہ کی کی تحقیقات کريں
|
48
|
+
GoBack: واپس جايں
|
49
|
+
NoScheduledFound: کویٔ ﻁےﺷﺪﮦچيز نہیں ملی
|
50
|
+
When: ﺏک
|
51
|
+
ScheduledJobs: ﻁےﺷﺪﮦجاب
|
52
|
+
idle: بیکار
|
53
|
+
active: فعال
|
54
|
+
Version: ورژن
|
55
|
+
Connections: کنکشنز
|
56
|
+
MemoryUsage: یاداشت کا استعمال
|
57
|
+
PeakMemoryUsage: سب سے زيادہ یاداشت کا استعمال
|
58
|
+
Uptime: اپ ٹائم
|
59
|
+
OneWeek: ایک ہفتہ
|
60
|
+
OneMonth: ایک مہینہ
|
61
|
+
ThreeMonths: تین ماہ
|
62
|
+
SixMonths: چھ ماہ
|
63
|
+
Failures: ناکامیاں
|
64
|
+
DeadJobs: ختم شدہ جاب
|
65
|
+
NoDeadJobsFound: کویٔ ختم شدہ جاب نہيی ملی
|
66
|
+
Dead: ختم شدہ
|
67
|
+
Processes: ﻋﻤﻠﻴﺎﺕ
|
68
|
+
Thread: موضوع
|
69
|
+
Threads: موضوع
|
70
|
+
Jobs: جابز
|
71
|
+
Paused: موقوف
|
72
|
+
Stop: بند کرو
|
73
|
+
Quiet: ﺣﺘﻢ کﺭﻭ
|
74
|
+
StopAll: ﺗﻤﺎﻡ ﺑﻨﺪ کﺭﻭ
|
75
|
+
QuietAll: ﺗﻤﺎﻡ ﺣﺘﻢ کﺭﻭ
|
76
|
+
PollingInterval: ﺑﺮاﮦ ﺭاﺳﺖ کا ﺩﻭﺭاﻧﻴﮧ
|
77
|
+
Plugins: پلگ انز
|
78
|
+
NotYetEnqueued: ﻗﺘﺎﺭميں شامل نھيں
|
79
|
+
CreatedAt: ﺗﺎﺭﻳﺢ آﻏﺎﺯ
|
80
|
+
BackToApp: ﻭاپﺱ صفحۂ اﻭﻝ پر
|
data/web/locales/vi.yml
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
vi: # <---- change this to your locale code
|
3
|
+
Dashboard: Bảng điều khiển
|
4
|
+
Status: Trạng thái
|
5
|
+
Time: Thời gian
|
6
|
+
Namespace: Không gian tên
|
7
|
+
Realtime: Thời gian thực
|
8
|
+
History: Lịch sử
|
9
|
+
Busy: Bận rộn
|
10
|
+
Processed: Đã xử lí
|
11
|
+
Failed: Đã thất bại
|
12
|
+
Scheduled: Đã lên lịch
|
13
|
+
Retries: Số lần thử
|
14
|
+
Enqueued: Đã xếp hàng đợi
|
15
|
+
Worker: Máy xử lí
|
16
|
+
LivePoll: Thăm dò trực tiếp
|
17
|
+
StopPolling: Ngừng thăm dò
|
18
|
+
Queue: Hàng đợi
|
19
|
+
Class: Lớp
|
20
|
+
Job: Tác vụ
|
21
|
+
Arguments: Tham số
|
22
|
+
Extras: Thêm
|
23
|
+
Started: Đã bắt đầu
|
24
|
+
ShowAll: Hiện tất cả
|
25
|
+
CurrentMessagesInQueue: Số lượng công việc trong <span class='title'>%{queue}</span>
|
26
|
+
Delete: Xóa
|
27
|
+
AddToQueue: Thêm vào hàng đợi
|
28
|
+
AreYouSureDeleteJob: Bạn có chắc là muốn xóa tác vụ này?
|
29
|
+
AreYouSureDeleteQueue: Bạn có chắc là muốn xóa %{queue} này?
|
30
|
+
Queues: Các hàng đợi
|
31
|
+
Size: Kích thước
|
32
|
+
Actions: Những hành động
|
33
|
+
NextRetry: Lần thử lại tiếp theo
|
34
|
+
RetryCount: Số lần thử lại
|
35
|
+
RetryNow: Thử lại ngay bây giờ
|
36
|
+
Kill: Giết
|
37
|
+
LastRetry: Lần thử cuối
|
38
|
+
OriginallyFailed: Đã thất bại từ đầu
|
39
|
+
AreYouSure: Bạn chắc chứ?
|
40
|
+
DeleteAll: Xóa hết
|
41
|
+
RetryAll: Thử lại tất cả
|
42
|
+
KillAll: Giết hết
|
43
|
+
NoRetriesFound: Không có lần thử nào được tìm thấy
|
44
|
+
Error: Lỗi
|
45
|
+
ErrorClass: Lớp lỗi
|
46
|
+
ErrorMessage: Tin nhắn lỗi
|
47
|
+
ErrorBacktrace: Dấu vết của lỗi
|
48
|
+
GoBack: ← Trở lại
|
49
|
+
NoScheduledFound: Không có tác vụ đã lên lịch nào được tìm thấy
|
50
|
+
When: Khi nào
|
51
|
+
ScheduledJobs: Những Tác Vụ Được Hẹn
|
52
|
+
idle: Đang chờ
|
53
|
+
active: Đang hoạt động
|
54
|
+
Version: Phiên bản
|
55
|
+
Connections: Các kết nối
|
56
|
+
MemoryUsage: Lượng bộ nhớ sử dụng
|
57
|
+
PeakMemoryUsage: Lượng bộ nhớ sử dụng đỉnh điểm
|
58
|
+
Uptime: Thời gian hệ thống đã online (days)
|
59
|
+
OneWeek: 1 tuần
|
60
|
+
OneMonth: 1 tháng
|
61
|
+
ThreeMonths: 3 tháng
|
62
|
+
SixMonths: 6 tháng
|
63
|
+
Failures: Các thất bại
|
64
|
+
DeadJobs: Những tác vụ đã chết
|
65
|
+
NoDeadJobsFound: Không có tác vụ đã chết nào được tìm thấy
|
66
|
+
Dead: Chết
|
67
|
+
Processes: Tiến trình xử lí
|
68
|
+
Thread: Luồng xử lí
|
69
|
+
Threads: Những luồng xử lí
|
70
|
+
Jobs: Các tác vụ
|
71
|
+
Paused: Đã tạm dừng
|
72
|
+
Stop: Dừng Lại
|
73
|
+
Quiet: Im lặng
|
74
|
+
StopAll: Dừng lại tất cả
|
75
|
+
QuietAll: Làm cho tất cả im lặng
|
76
|
+
PollingInterval: Khoảng thời gian giữa các lần thăm dò
|
77
|
+
Plugins: Hệ thống đính kèm
|
78
|
+
NotYetEnqueued: Chưa được bỏ vào hàng đợi
|
79
|
+
CreatedAt: Được tạo vào lúc
|
80
|
+
BackToApp: Trở về ứng dụng
|
81
|
+
Latency: Độ trễ
|
82
|
+
Pause: Tạm dừng
|
83
|
+
Unpause: Hủy tạm dừng
|
data/web/views/_footer.erb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="navbar navbar-fixed-bottom navbar-inverse">
|
1
|
+
<div class="navbar navbar-fixed-bottom navbar-inverse ltr">
|
2
2
|
<div class="navbar-inner">
|
3
3
|
<div class="container text-center">
|
4
4
|
<ul class="nav">
|
@@ -9,7 +9,10 @@
|
|
9
9
|
<p class="navbar-text redis-url" title="<%= redis_connection_and_namespace %>"><%= redis_connection_and_namespace %></p>
|
10
10
|
</li>
|
11
11
|
<li>
|
12
|
-
<p class="navbar-text"><%=
|
12
|
+
<p class="navbar-text server-utc-time"><%= server_utc_time %></p>
|
13
|
+
</li>
|
14
|
+
<li>
|
15
|
+
<p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
|
13
16
|
</li>
|
14
17
|
</ul>
|
15
18
|
</div>
|
data/web/views/_job_info.erb
CHANGED
data/web/views/_nav.erb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
<div class="navbar-toggle collapsed navbar-livereload">
|
10
10
|
<%= erb :_poll_link %>
|
11
11
|
<% if Sidekiq::Web.app_url %>
|
12
|
-
<a class="btn btn-inverse" href="<%= Sidekiq::Web.app_url %>"
|
12
|
+
<a class="btn btn-inverse" href="<%= Sidekiq::Web.app_url %>"><%= t('BackToApp') %></a>
|
13
13
|
<% end %>
|
14
14
|
</div>
|
15
15
|
<a class="navbar-brand" href="<%= root_path %>">
|
@@ -32,28 +32,14 @@
|
|
32
32
|
<% end %>
|
33
33
|
<% end %>
|
34
34
|
|
35
|
-
<li class="dropdown" data-navbar="dropdown">
|
36
|
-
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
|
37
|
-
<%= t('Plugins') %> <span class="caret"></span>
|
38
|
-
</a>
|
39
|
-
<ul class="dropdown-menu" role="menu">
|
40
|
-
<% Sidekiq::Web.custom_tabs.each do |title, url| %>
|
41
|
-
<li>
|
42
|
-
<a href="<%= root_path %><%= url %>"><%= t(title) %></a>
|
43
|
-
</li>
|
44
|
-
<% end %>
|
45
|
-
</ul>
|
46
|
-
</li>
|
47
|
-
|
48
35
|
<% Sidekiq::Web.custom_tabs.each do |title, url| %>
|
49
36
|
<li class="<%= current_path.start_with?(url) ? 'active' : '' %>" data-navbar="custom-tab">
|
50
37
|
<a href="<%= root_path %><%= url %>"><%= t(title) %></a>
|
51
38
|
</li>
|
52
39
|
<% end %>
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
<div class="poll-wrapper pull-right">
|
40
|
+
|
41
|
+
<li class="navbar-livereload">
|
42
|
+
<div class="poll-wrapper">
|
57
43
|
<%= erb :_poll_link %>
|
58
44
|
<% if Sidekiq::Web.app_url %>
|
59
45
|
<a class="btn btn-inverse" href="<%= Sidekiq::Web.app_url %>"><%= t('BackToApp') %></a>
|
data/web/views/_paging.erb
CHANGED
data/web/views/busy.erb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
<div class="row header">
|
2
|
-
<div class="col-sm-8 pull-left">
|
2
|
+
<div class="col-sm-8 pull-left flip">
|
3
3
|
<h3><%= t('Processes') %></h3>
|
4
4
|
</div>
|
5
|
-
<div class="col-sm-4 pull-right">
|
5
|
+
<div class="col-sm-4 pull-right flip">
|
6
6
|
<form method="POST" class="warning-messages">
|
7
7
|
<%= csrf_tag %>
|
8
|
-
<div class="btn-group pull-right">
|
8
|
+
<div class="btn-group pull-right flip">
|
9
9
|
<button class="btn btn-warn" type="submit" name="quiet" value="1" data-confirm="<%= t('AreYouSure') %>"><%= t('QuietAll') %></button>
|
10
10
|
<button class="btn btn-danger" type="submit" name="stop" value="1" data-confirm="<%= t('AreYouSure') %>"><%= t('StopAll') %></button>
|
11
11
|
</div>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div class="table_container">
|
17
|
-
<table class="processes table table-hover table-bordered table-striped
|
17
|
+
<table class="processes table table-hover table-bordered table-striped">
|
18
18
|
<thead>
|
19
19
|
<th><%= t('Name') %></th>
|
20
20
|
<th><%= t('Started') %></th>
|
@@ -22,6 +22,7 @@
|
|
22
22
|
<th><%= t('Busy') %></th>
|
23
23
|
<th> </th>
|
24
24
|
</thead>
|
25
|
+
<% lead = processes.leader %>
|
25
26
|
<% processes.each do |process| %>
|
26
27
|
<tr>
|
27
28
|
<td class="box">
|
@@ -31,7 +32,10 @@
|
|
31
32
|
<span class="label label-info"><%= label %></span>
|
32
33
|
<% end %>
|
33
34
|
<% if process.stopping? %>
|
34
|
-
<span class="label label-danger">
|
35
|
+
<span class="label label-danger">quiet</span>
|
36
|
+
<% end %>
|
37
|
+
<% if process.identity == lead %>
|
38
|
+
<span class="label label-warning">leader</span>
|
35
39
|
<% end %>
|
36
40
|
<br>
|
37
41
|
<b><%= "#{t('Queues')}: " %></b>
|
@@ -41,7 +45,7 @@
|
|
41
45
|
<td><%= process['concurrency'] %></td>
|
42
46
|
<td><%= process['busy'] %></td>
|
43
47
|
<td>
|
44
|
-
<div class="btn-group pull-right">
|
48
|
+
<div class="btn-group pull-right flip">
|
45
49
|
<form method="POST">
|
46
50
|
<%= csrf_tag %>
|
47
51
|
<input type="hidden" name="identity" value="<%= process['identity'] %>"/>
|
@@ -64,7 +68,7 @@
|
|
64
68
|
</div>
|
65
69
|
|
66
70
|
<div class="table_container">
|
67
|
-
<table class="workers table table-hover table-bordered table-striped
|
71
|
+
<table class="workers table table-hover table-bordered table-striped">
|
68
72
|
<thead>
|
69
73
|
<th><%= t('Process') %></th>
|
70
74
|
<th><%= t('TID') %></th>
|
@@ -83,7 +87,10 @@
|
|
83
87
|
<td>
|
84
88
|
<a href="<%= root_path %>queues/<%= msg['queue'] %>"><%= msg['queue'] %></a>
|
85
89
|
</td>
|
86
|
-
<td
|
90
|
+
<td>
|
91
|
+
<%= job.display_class %>
|
92
|
+
<%= display_tags(job, nil) %>
|
93
|
+
</td>
|
87
94
|
<td>
|
88
95
|
<div class="args"><%= display_args(job.display_args) %></div>
|
89
96
|
</td>
|
data/web/views/dashboard.erb
CHANGED
data/web/views/dead.erb
CHANGED
@@ -14,11 +14,11 @@
|
|
14
14
|
<th><%= t('ErrorMessage') %></th>
|
15
15
|
<td><%= h(@dead['error_message']) %></td>
|
16
16
|
</tr>
|
17
|
-
<% if
|
17
|
+
<% if @dead.error_backtrace %>
|
18
18
|
<tr>
|
19
19
|
<th><%= t('ErrorBacktrace') %></th>
|
20
20
|
<td>
|
21
|
-
<code><%= @dead
|
21
|
+
<code><%= @dead.error_backtrace.join("<br/>") %></code>
|
22
22
|
</td>
|
23
23
|
</tr>
|
24
24
|
<% end %>
|
data/web/views/layout.erb
CHANGED
@@ -1,11 +1,21 @@
|
|
1
1
|
<!doctype html>
|
2
|
-
<html>
|
2
|
+
<html dir="<%= text_direction %>">
|
3
3
|
<head>
|
4
4
|
<title><%= environment_title_prefix %><%= Sidekiq::NAME %></title>
|
5
|
-
<meta charset="
|
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" />
|
9
|
+
<% if rtl? %>
|
10
|
+
<link href="<%= root_path %>stylesheets/bootstrap-rtl.min.css" media="screen" rel="stylesheet" type="text/css"/>
|
11
|
+
<% end %>
|
12
|
+
|
8
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" />
|
15
|
+
<% if rtl? %>
|
16
|
+
<link href="<%= root_path %>stylesheets/application-rtl.css" media="screen" rel="stylesheet" type="text/css" />
|
17
|
+
<% end %>
|
18
|
+
|
9
19
|
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
|
10
20
|
<script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
|
11
21
|
<meta name="google" content="notranslate" />
|
data/web/views/morgue.erb
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<form action="<%= root_path %>morgue" method="post">
|
15
15
|
<%= csrf_tag %>
|
16
16
|
<div class="table_container">
|
17
|
-
<table class="table table-striped table-bordered
|
17
|
+
<table class="table table-striped table-bordered">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
20
|
<th class="table-checkbox checkbox-column">
|
@@ -42,7 +42,10 @@
|
|
42
42
|
<td>
|
43
43
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
44
44
|
</td>
|
45
|
-
<td
|
45
|
+
<td>
|
46
|
+
<%= entry.display_class %>
|
47
|
+
<%= display_tags(entry, "morgue") %>
|
48
|
+
</td>
|
46
49
|
<td>
|
47
50
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
48
51
|
</td>
|
@@ -55,18 +58,18 @@
|
|
55
58
|
<% end %>
|
56
59
|
</table>
|
57
60
|
</div>
|
58
|
-
<input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
59
|
-
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
|
61
|
+
<input class="btn btn-primary btn-xs pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
62
|
+
<input class="btn btn-danger btn-xs pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
60
63
|
</form>
|
61
64
|
|
62
65
|
<% unfiltered? do %>
|
63
66
|
<form action="<%= root_path %>morgue/all/delete" method="post">
|
64
67
|
<%= csrf_tag %>
|
65
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
68
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
66
69
|
</form>
|
67
70
|
<form action="<%= root_path %>morgue/all/retry" method="post">
|
68
71
|
<%= csrf_tag %>
|
69
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
72
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
70
73
|
</form>
|
71
74
|
<% end %>
|
72
75
|
|
data/web/views/queue.erb
CHANGED
@@ -5,36 +5,46 @@
|
|
5
5
|
<% if @queue.paused? %>
|
6
6
|
<span class="label label-danger"><%= t('Paused') %></span>
|
7
7
|
<% end %>
|
8
|
+
<span class="badge badge-secondary"><%= number_with_delimiter(@total_size) %></span>
|
8
9
|
</h3>
|
9
10
|
</div>
|
10
|
-
<div class="col-sm-4 pull-right">
|
11
|
+
<div class="col-sm-4 pull-right flip">
|
11
12
|
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
12
13
|
</div>
|
13
14
|
</header>
|
14
15
|
<div class="table_container">
|
15
16
|
<table class="queue table table-hover table-bordered table-striped">
|
16
17
|
<thead>
|
18
|
+
<th><a href="<%= url %>?direction=<%= params[:direction] == 'asc' ? 'desc' : 'asc' %>"># <%= sort_direction_label %></a></th>
|
17
19
|
<th><%= t('Job') %></th>
|
18
20
|
<th><%= t('Arguments') %></th>
|
19
21
|
<th></th>
|
20
22
|
</thead>
|
21
23
|
<% @messages.each_with_index do |msg, index| %>
|
22
24
|
<tr>
|
23
|
-
|
25
|
+
<% if params[:direction] == 'asc' %>
|
26
|
+
<td><%= @count * (@current_page - 1) + index + 1 %></td>
|
27
|
+
<% else %>
|
28
|
+
<td><%= @total_size - (@count * (@current_page - 1) + index) %></td>
|
29
|
+
<% end %>
|
24
30
|
<td>
|
25
|
-
|
26
|
-
|
27
|
-
|
31
|
+
<%= h(msg.display_class) %>
|
32
|
+
<%= display_tags(msg, nil) %>
|
33
|
+
</td>
|
34
|
+
<td>
|
35
|
+
<% a = msg.display_args %>
|
36
|
+
<% if a.inspect.size > 100 %>
|
37
|
+
<span class="worker_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
|
28
38
|
<button data-toggle="collapse" data-target=".worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
|
29
|
-
<div class="toggle worker_<%= index %>"><%=
|
39
|
+
<div class="toggle worker_<%= index %>"><%= display_args(a) %></div>
|
30
40
|
<% else %>
|
31
|
-
<%=
|
41
|
+
<%= display_args(msg.display_args) %>
|
32
42
|
<% end %>
|
33
43
|
</td>
|
34
44
|
<td>
|
35
45
|
<form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
|
36
46
|
<%= csrf_tag %>
|
37
|
-
<input name="key_val" value="<%= h
|
47
|
+
<input name="key_val" value="<%= h msg.value %>" type="hidden" />
|
38
48
|
<input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
|
39
49
|
</form>
|
40
50
|
</td>
|