sidekiq 6.2.2 → 8.1.5

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +726 -11
  3. data/LICENSE.txt +9 -0
  4. data/README.md +70 -39
  5. data/bin/kiq +17 -0
  6. data/bin/lint-herb +13 -0
  7. data/bin/multi_queue_bench +271 -0
  8. data/bin/sidekiq +4 -9
  9. data/bin/sidekiqload +214 -115
  10. data/bin/sidekiqmon +4 -1
  11. data/bin/webload +69 -0
  12. data/lib/active_job/queue_adapters/sidekiq_adapter.rb +124 -0
  13. data/lib/generators/sidekiq/job_generator.rb +71 -0
  14. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +3 -3
  15. data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
  16. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  17. data/lib/sidekiq/api.rb +729 -264
  18. data/lib/sidekiq/capsule.rb +135 -0
  19. data/lib/sidekiq/cli.rb +124 -100
  20. data/lib/sidekiq/client.rb +153 -106
  21. data/lib/sidekiq/component.rb +132 -0
  22. data/lib/sidekiq/config.rb +320 -0
  23. data/lib/sidekiq/deploy.rb +64 -0
  24. data/lib/sidekiq/embedded.rb +64 -0
  25. data/lib/sidekiq/fetch.rb +27 -26
  26. data/lib/sidekiq/iterable_job.rb +56 -0
  27. data/lib/sidekiq/job/interrupt_handler.rb +24 -0
  28. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  29. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  30. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  31. data/lib/sidekiq/job/iterable.rb +322 -0
  32. data/lib/sidekiq/job.rb +397 -5
  33. data/lib/sidekiq/job_logger.rb +23 -32
  34. data/lib/sidekiq/job_retry.rb +141 -68
  35. data/lib/sidekiq/job_util.rb +113 -0
  36. data/lib/sidekiq/launcher.rb +122 -98
  37. data/lib/sidekiq/loader.rb +57 -0
  38. data/lib/sidekiq/logger.rb +27 -106
  39. data/lib/sidekiq/manager.rb +41 -43
  40. data/lib/sidekiq/metrics/query.rb +184 -0
  41. data/lib/sidekiq/metrics/shared.rb +109 -0
  42. data/lib/sidekiq/metrics/tracking.rb +153 -0
  43. data/lib/sidekiq/middleware/chain.rb +96 -51
  44. data/lib/sidekiq/middleware/current_attributes.rb +120 -0
  45. data/lib/sidekiq/middleware/i18n.rb +8 -4
  46. data/lib/sidekiq/middleware/modules.rb +23 -0
  47. data/lib/sidekiq/monitor.rb +16 -6
  48. data/lib/sidekiq/paginator.rb +37 -10
  49. data/lib/sidekiq/processor.rb +105 -87
  50. data/lib/sidekiq/profiler.rb +73 -0
  51. data/lib/sidekiq/rails.rb +49 -36
  52. data/lib/sidekiq/redis_client_adapter.rb +117 -0
  53. data/lib/sidekiq/redis_connection.rb +55 -86
  54. data/lib/sidekiq/ring_buffer.rb +32 -0
  55. data/lib/sidekiq/scheduled.rb +106 -50
  56. data/lib/sidekiq/systemd.rb +2 -0
  57. data/lib/sidekiq/test_api.rb +331 -0
  58. data/lib/sidekiq/testing/inline.rb +2 -30
  59. data/lib/sidekiq/testing.rb +2 -342
  60. data/lib/sidekiq/transaction_aware_client.rb +59 -0
  61. data/lib/sidekiq/tui/controls.rb +53 -0
  62. data/lib/sidekiq/tui/filtering.rb +53 -0
  63. data/lib/sidekiq/tui/tabs/base_tab.rb +204 -0
  64. data/lib/sidekiq/tui/tabs/busy.rb +118 -0
  65. data/lib/sidekiq/tui/tabs/dead.rb +19 -0
  66. data/lib/sidekiq/tui/tabs/home.rb +144 -0
  67. data/lib/sidekiq/tui/tabs/metrics.rb +131 -0
  68. data/lib/sidekiq/tui/tabs/queues.rb +95 -0
  69. data/lib/sidekiq/tui/tabs/retries.rb +19 -0
  70. data/lib/sidekiq/tui/tabs/scheduled.rb +19 -0
  71. data/lib/sidekiq/tui/tabs/set_tab.rb +96 -0
  72. data/lib/sidekiq/tui/tabs.rb +15 -0
  73. data/lib/sidekiq/tui.rb +382 -0
  74. data/lib/sidekiq/version.rb +6 -1
  75. data/lib/sidekiq/web/action.rb +149 -64
  76. data/lib/sidekiq/web/application.rb +376 -268
  77. data/lib/sidekiq/web/config.rb +117 -0
  78. data/lib/sidekiq/web/helpers.rb +213 -87
  79. data/lib/sidekiq/web/router.rb +61 -74
  80. data/lib/sidekiq/web.rb +71 -100
  81. data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
  82. data/lib/sidekiq.rb +95 -196
  83. data/sidekiq.gemspec +14 -11
  84. data/web/assets/images/logo.png +0 -0
  85. data/web/assets/images/status.png +0 -0
  86. data/web/assets/javascripts/application.js +171 -57
  87. data/web/assets/javascripts/base-charts.js +120 -0
  88. data/web/assets/javascripts/chart.min.js +13 -0
  89. data/web/assets/javascripts/chartjs-adapter-date-fns.min.js +7 -0
  90. data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
  91. data/web/assets/javascripts/dashboard-charts.js +194 -0
  92. data/web/assets/javascripts/dashboard.js +41 -274
  93. data/web/assets/javascripts/metrics.js +280 -0
  94. data/web/assets/stylesheets/style.css +776 -0
  95. data/web/locales/ar.yml +72 -70
  96. data/web/locales/cs.yml +64 -62
  97. data/web/locales/da.yml +62 -53
  98. data/web/locales/de.yml +67 -65
  99. data/web/locales/el.yml +45 -24
  100. data/web/locales/en.yml +93 -69
  101. data/web/locales/es.yml +91 -68
  102. data/web/locales/fa.yml +67 -65
  103. data/web/locales/fr.yml +82 -67
  104. data/web/locales/gd.yml +110 -0
  105. data/web/locales/he.yml +67 -64
  106. data/web/locales/hi.yml +61 -59
  107. data/web/locales/it.yml +94 -54
  108. data/web/locales/ja.yml +74 -68
  109. data/web/locales/ko.yml +54 -52
  110. data/web/locales/lt.yml +68 -66
  111. data/web/locales/nb.yml +63 -61
  112. data/web/locales/nl.yml +54 -52
  113. data/web/locales/pl.yml +47 -45
  114. data/web/locales/{pt-br.yml → pt-BR.yml} +85 -56
  115. data/web/locales/pt.yml +53 -51
  116. data/web/locales/ru.yml +69 -66
  117. data/web/locales/sv.yml +55 -53
  118. data/web/locales/ta.yml +62 -60
  119. data/web/locales/tr.yml +102 -0
  120. data/web/locales/uk.yml +87 -61
  121. data/web/locales/ur.yml +66 -64
  122. data/web/locales/vi.yml +69 -67
  123. data/web/locales/zh-CN.yml +107 -0
  124. data/web/locales/{zh-tw.yml → zh-TW.yml} +44 -9
  125. data/web/views/_footer.html.erb +32 -0
  126. data/web/views/_job_info.html.erb +115 -0
  127. data/web/views/_metrics_period_select.html.erb +15 -0
  128. data/web/views/_nav.html.erb +45 -0
  129. data/web/views/_paging.html.erb +26 -0
  130. data/web/views/_poll_link.html.erb +4 -0
  131. data/web/views/_summary.html.erb +40 -0
  132. data/web/views/busy.html.erb +151 -0
  133. data/web/views/dashboard.html.erb +104 -0
  134. data/web/views/dead.html.erb +38 -0
  135. data/web/views/filtering.html.erb +6 -0
  136. data/web/views/layout.html.erb +26 -0
  137. data/web/views/metrics.html.erb +85 -0
  138. data/web/views/metrics_for_job.html.erb +58 -0
  139. data/web/views/morgue.html.erb +69 -0
  140. data/web/views/profiles.html.erb +43 -0
  141. data/web/views/queue.html.erb +57 -0
  142. data/web/views/queues.html.erb +46 -0
  143. data/web/views/retries.html.erb +77 -0
  144. data/web/views/retry.html.erb +39 -0
  145. data/web/views/scheduled.html.erb +64 -0
  146. data/web/views/{scheduled_job_info.erb → scheduled_job_info.html.erb} +3 -3
  147. metadata +130 -61
  148. data/LICENSE +0 -9
  149. data/lib/generators/sidekiq/worker_generator.rb +0 -57
  150. data/lib/sidekiq/delay.rb +0 -41
  151. data/lib/sidekiq/exception_handler.rb +0 -27
  152. data/lib/sidekiq/extensions/action_mailer.rb +0 -48
  153. data/lib/sidekiq/extensions/active_record.rb +0 -43
  154. data/lib/sidekiq/extensions/class_methods.rb +0 -43
  155. data/lib/sidekiq/extensions/generic_proxy.rb +0 -33
  156. data/lib/sidekiq/util.rb +0 -95
  157. data/lib/sidekiq/web/csrf_protection.rb +0 -180
  158. data/lib/sidekiq/worker.rb +0 -244
  159. data/web/assets/stylesheets/application-dark.css +0 -147
  160. data/web/assets/stylesheets/application-rtl.css +0 -246
  161. data/web/assets/stylesheets/application.css +0 -1053
  162. data/web/assets/stylesheets/bootstrap-rtl.min.css +0 -9
  163. data/web/assets/stylesheets/bootstrap.css +0 -5
  164. data/web/locales/zh-cn.yml +0 -68
  165. data/web/views/_footer.erb +0 -20
  166. data/web/views/_job_info.erb +0 -89
  167. data/web/views/_nav.erb +0 -52
  168. data/web/views/_paging.erb +0 -23
  169. data/web/views/_poll_link.erb +0 -7
  170. data/web/views/_status.erb +0 -4
  171. data/web/views/_summary.erb +0 -40
  172. data/web/views/busy.erb +0 -132
  173. data/web/views/dashboard.erb +0 -83
  174. data/web/views/dead.erb +0 -34
  175. data/web/views/layout.erb +0 -42
  176. data/web/views/morgue.erb +0 -78
  177. data/web/views/queue.erb +0 -55
  178. data/web/views/queues.erb +0 -38
  179. data/web/views/retries.erb +0 -83
  180. data/web/views/retry.erb +0 -34
  181. data/web/views/scheduled.erb +0 -57
data/web/locales/ur.yml CHANGED
@@ -1,80 +1,82 @@
1
1
  # elements like %{queue} are variables and should not be translated
2
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>
3
+ LanguageName: اردو
4
+ Actions: ﻋﻮاﻣﻞ
27
5
  AddToQueue: ﻗﻄﺎﺭ ميں شامل کريں
6
+ AddAllToQueue: سب کو ﻗﻄﺎﺭ ميں شامل کريں
7
+ AreYouSure: کيا یقین ؟
28
8
  AreYouSureDeleteJob: کيا آپ یقین جاب حتم کرنا چاھتے ہيں ؟
29
9
  AreYouSureDeleteQueue: کيا آپ یقین قطار حتم کرنا چاھتے ہيں ؟
10
+ Arguments: دلائل
11
+ BackToApp: ﻭاپﺱ صفحۂ اﻭﻝ پر
12
+ Busy: مصروف
13
+ Class: کلاس
14
+ Connections: کنکشنز
15
+ CreatedAt: ﺗﺎﺭﻳﺢ آﻏﺎﺯ
16
+ CurrentMessagesInQueue: قطار ميں موجود تمام پيغامات <span class='title'>%{queue}</span>
17
+ Dashboard: صفحۂ اول
18
+ Dead: ختم شدہ
19
+ DeadJobs: ختم شدہ جاب
30
20
  Delete: ﺣﺬﻑ
31
- Queues: قطاريں
32
- Size: ﺣﺠﻢ
33
- Actions: ﻋﻮاﻣﻞ
34
- NextRetry: اگلی کﻭﺷﻴﺶ
35
- RetryCount: دوبارہ کوشش کا مکمل شمار
36
- RetryNow: ابھی دوبارہ کوشش
37
- Kill: ختم کرديں
38
- LastRetry: گزشتہ کوشش
39
- OriginallyFailed: ابتادائ ناکامی
40
- AreYouSure: کيا یقین ؟
41
21
  DeleteAll: ﺗﻤﺎﻡ ﺣﺬﻑ کر ديں
42
- RetryAll: ﺗﻤﺎﻡ کی ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ کﺭيں
43
- NoRetriesFound: کویٔ ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ نھيں ملی
22
+ Enqueued: قطار ميں شامل
44
23
  Error: مسئلہ
24
+ ErrorBacktrace: مسئلہ کی کی تحقیقات کريں
45
25
  ErrorClass: مسئلہ کی کلاس
46
26
  ErrorMessage: مسئلہ کی وجہ
47
- ErrorBacktrace: مسئلہ کی کی تحقیقات کريں
27
+ Extras: اﺻﺎﻑی
28
+ Failed: ﻧﺎکاﻡ ﺷﺪﮦ
29
+ Failures: ناکامیاں
48
30
  GoBack: واپس جايں
49
- NoScheduledFound: کویٔ ﻁےﺷﺪﮦچيز نہیں ملی
50
- When: ﺏک
51
- ScheduledJobs: ﻁےﺷﺪﮦجاب
52
- idle: بیکار
53
- active: فعال
54
- Version: ورژن
55
- Connections: کنکشنز
31
+ History: ﺗﺎﺭﻳﺦ
32
+ Job: جاب
33
+ Jobs: جابز
34
+ Kill: ختم کرديں
35
+ LastRetry: گزشتہ کوشش
36
+ LivePoll: ﺑﺮاﮦ ﺭاﺳﺖ
56
37
  MemoryUsage: یاداشت کا استعمال
57
- PeakMemoryUsage: سب سے زيادہ یاداشت کا استعمال
58
- Uptime: اپ ٹائم
59
- OneWeek: ایک ہفتہ
60
- OneMonth: ایک مہینہ
61
- ThreeMonths: تین ماہ
62
- SixMonths: چھ ماہ
63
- Failures: ناکامیاں
64
- DeadJobs: ختم شدہ جاب
38
+ Namespace: Namespace
39
+ NextRetry: اگلی کﻭﺷﻴﺶ
65
40
  NoDeadJobsFound: کویٔ ختم شدہ جاب نہيی ملی
66
- Dead: ختم شدہ
67
- Processes: ﻋﻤﻠﻴﺎﺕ
68
- Thread: موضوع
69
- Threads: موضوع
70
- Jobs: جابز
41
+ NoRetriesFound: کویٔ ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ نھيں ملی
42
+ NoScheduledFound: کویٔ ﻁےﺷﺪﮦچيز نہیں ملی
43
+ NotYetEnqueued: ﻗﺘﺎﺭميں شامل نھيں
44
+ OneMonth: ایک مہینہ
45
+ OneWeek: ایک ہفتہ
46
+ OriginallyFailed: ابتادائ ناکامی
71
47
  Paused: موقوف
72
- Stop: بند کرو
48
+ PeakMemoryUsage: سب سے زيادہ یاداشت کا استعمال
49
+ Plugins: پلگ انز
50
+ PollingInterval: ﺑﺮاﮦ ﺭاﺳﺖ کا ﺩﻭﺭاﻧﻴﮧ
51
+ Processed: مکمل شدہ
52
+ Processes: ﻋﻤﻠﻴﺎﺕ
53
+ Queue: قطار
54
+ Queues: قطاريں
73
55
  Quiet: ﺣﺘﻢ کﺭﻭ
74
- StopAll: ﺗﻤﺎﻡ ﺑﻨﺪ کﺭﻭ
75
56
  QuietAll: ﺗﻤﺎﻡ ﺣﺘﻢ کﺭﻭ
76
- PollingInterval: ﺑﺮاﮦ ﺭاﺳﺖ کا ﺩﻭﺭاﻧﻴﮧ
77
- Plugins: پلگ انز
78
- NotYetEnqueued: ﻗﺘﺎﺭميں شامل نھيں
79
- CreatedAt: ﺗﺎﺭﻳﺢ آﻏﺎﺯ
80
- BackToApp: ﻭاپﺱ صفحۂ اﻭﻝ پر
57
+ Realtime: ﺑﺮاﮦ ﺭاﺳﺖ
58
+ Retries: ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ
59
+ RetryAll: ﺗﻤﺎﻡ کی ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ کﺭيں
60
+ RetryCount: دوبارہ کوشش کا مکمل شمار
61
+ RetryNow: ابھی دوبارہ کوشش
62
+ Scheduled: ﻁےﺷﺪﮦ
63
+ ScheduledJobs: ﻁےﺷﺪﮦجاب
64
+ ShowAll: سارے دکھاو
65
+ SixMonths: چھ ماہ
66
+ Size: ﺣﺠﻢ
67
+ Started: شروع
68
+ Status: اسٹیٹس
69
+ Stop: بند کرو
70
+ StopAll: ﺗﻤﺎﻡ ﺑﻨﺪ کﺭﻭ
71
+ StopPolling: ﺑﺮاﮦ ﺭاﺳﺖ روکيے
72
+ TextDirection: rtl
73
+ Thread: موضوع
74
+ Threads: موضوع
75
+ ThreeMonths: تین ماہ
76
+ Time: ﻭﻗﺖ
77
+ Uptime: اپ ٹائم
78
+ Version: ورژن
79
+ When: ﺏک
80
+ Worker: ورکر
81
+ active: فعال
82
+ idle: بیکار
data/web/locales/vi.yml CHANGED
@@ -1,83 +1,85 @@
1
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ử
2
+ vi:
3
+ LanguageName: Tiếng Việt
4
+ Actions: Những hành động
5
+ AddToQueue: Thêm vào hàng đợi
6
+ AddAllToQueue: Thêm tất cả vào hàng đợi
7
+ AreYouSure: Bạn chắc chứ?
8
+ AreYouSureDeleteJob: Bạn có chắc là muốn xóa tác vụ này?
9
+ AreYouSureDeleteQueue: Bạn có chắc là muốn xóa %{queue} này?
10
+ Arguments: Tham số
11
+ BackToApp: Trở về ứng dụng
9
12
  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
13
  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ả
14
+ Connections: Các kết nối
15
+ CreatedAt: Được tạo vào lúc
25
16
  CurrentMessagesInQueue: Số lượng công việc trong <span class='title'>%{queue}</span>
17
+ Dashboard: Bảng điều khiển
18
+ Dead: Chết
19
+ DeadJobs: Những tác vụ đã chết
26
20
  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
21
  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
22
+ Enqueued: Đã xếp hàng đợi
44
23
  Error: Lỗi
24
+ ErrorBacktrace: Dấu vết của lỗi
45
25
  ErrorClass: Lớp lỗi
46
26
  ErrorMessage: Tin nhắn lỗi
47
- ErrorBacktrace: Dấu vết của lỗi
27
+ Extras: Thêm
28
+ Failed: Đã thất bại
29
+ Failures: Các thất bại
48
30
  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
31
+ History: Lịch sử
32
+ Job: Tác vụ
33
+ Jobs: Các tác vụ
34
+ Kill: Giết
35
+ KillAll: Giết hết
36
+ LastRetry: Lần thử cuối
37
+ Latency: Độ trễ
38
+ LivePoll: Thăm dò trực tiếp
56
39
  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
40
+ Namespace: Không gian tên
41
+ NextRetry: Lần thử lại tiếp theo
65
42
  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ử
68
- Thread: Luồng xử
69
- Threads: Những luồng xử lí
70
- Jobs: Các tác vụ
43
+ NoRetriesFound: Không có lần thử nào được tìm thấy
44
+ NoScheduledFound: Không tác vụ đã lên lịch nào được tìm thấy
45
+ NotYetEnqueued: Chưa được bỏ vào hàng đợi
46
+ OneMonth: 1 tháng
47
+ OneWeek: 1 tuần
48
+ OriginallyFailed: Đã thất bại từ đầu
49
+ Pause: Tạm dừng
71
50
  Paused: Đã tạm dừng
72
- Stop: Dừng Lại
51
+ PeakMemoryUsage: Lượng bộ nhớ sử dụng đỉnh điểm
52
+ Plugins: Hệ thống đính kèm
53
+ PollingInterval: Khoảng thời gian giữa các lần thăm dò
54
+ Processed: Đã xử lí
55
+ Processes: Tiến trình xử lí
56
+ Queue: Hàng đợi
57
+ Queues: Các hàng đợi
73
58
  Quiet: Im lặng
74
- StopAll: Dừng lại tất cả
75
59
  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
60
+ Realtime: Thời gian thực
61
+ Retries: Số lần thử
62
+ RetryAll: Thử lại tất cả
63
+ RetryCount: Số lần thử lại
64
+ RetryNow: Thử lại ngay bây giờ
65
+ Scheduled: Đã lên lịch
66
+ ScheduledJobs: Những Tác Vụ Được Hẹn
67
+ ShowAll: Hiện tất cả
68
+ SixMonths: 6 tháng
69
+ Size: Kích thước
70
+ Started: Đã bắt đầu
71
+ Status: Trạng thái
72
+ Stop: Dừng Lại
73
+ StopAll: Dừng lại tất cả
74
+ StopPolling: Ngừng thăm dò
75
+ Thread: Luồng xử lí
76
+ Threads: Những luồng xử lí
77
+ ThreeMonths: 3 tháng
78
+ Time: Thời gian
83
79
  Unpause: Hủy tạm dừng
80
+ Uptime: Thời gian hệ thống đã online (days)
81
+ Version: Phiên bản
82
+ When: Khi nào
83
+ Worker: Máy xử lí
84
+ active: Đang hoạt động
85
+ idle: Đang chờ
@@ -0,0 +1,107 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ zh-CN: # <---- change this to your locale code
3
+ LanguageName: 中文
4
+ Actions: 操作
5
+ AddToQueue: 添加至队列
6
+ AddAllToQueue: 添加所有至队列
7
+ AreYouSure: 你确定?
8
+ AreYouSureDeleteJob: 你确定要删除这个任务么?
9
+ AreYouSureDeleteQueue: 你确定要删除 %{queue} 队列吗?这将删除当前队列中的所有任务,当新的任务添加到该队列时,它会重新出现。
10
+ Arguments: 参数
11
+ BackToApp: 返回首页
12
+ Busy: 执行中
13
+ Class: 类别
14
+ Connections: 连接
15
+ CreatedAt: 创建时间
16
+ CurrentMessagesInQueue: 目前在 <span class='title'>%{queue}</span> 队列中的任务
17
+ Dashboard: 信息板
18
+ Dead: 已停滞
19
+ DeadJobs: 已停滞任务
20
+ Delete: 删除
21
+ DeleteAll: 全部删除
22
+ Deploy: 部署
23
+ Enqueued: 已进入队列
24
+ Error: 错误
25
+ ErrorBacktrace: 错误细节
26
+ ErrorClass: 错误类别
27
+ ErrorMessage: 错误信息
28
+ ExecutionTime: 执行时间
29
+ Extras: 附加信息
30
+ Failed: 失败
31
+ Failures: 失败记录
32
+ Failure: 失败
33
+ GoBack: ← 返回
34
+ History: 历史记录
35
+ Job: 任务
36
+ Jobs: 任务
37
+ Kill: 终止
38
+ KillAll: 全部终止
39
+ LastRetry: 上次重试
40
+ Latency: 延迟
41
+ LivePoll: 实时轮询
42
+ MemoryUsage: 内存占用
43
+ Name: 名称
44
+ Namespace: 命名空间
45
+ NextRetry: 下次重试
46
+ NoDeadJobsFound: 没有发现已停滞任务
47
+ NoRetriesFound: 没有发现可重试任务
48
+ NoScheduledFound: 没有发现计划任务
49
+ NotYetEnqueued: 尚未进入队列
50
+ OneMonth: 1个月
51
+ OneWeek: 1周
52
+ OriginallyFailed: 首次失败
53
+ Pause: 暂停
54
+ Paused: 已暂停
55
+ PeakMemoryUsage: 内存占用峰值
56
+ Plugins: 插件
57
+ PollingInterval: 轮询周期
58
+ Process: 进程
59
+ Processed: 已处理
60
+ Processes: 进程
61
+ Queue: 队列
62
+ Queues: 队列
63
+ Quiet: 暂停
64
+ QuietAll: 全部暂停
65
+ Realtime: 实时
66
+ Retries: 重试
67
+ RetryAll: 全部重试
68
+ RetryCount: 重试次数
69
+ RetryNow: 立即重试
70
+ Scheduled: 已计划
71
+ ScheduledJobs: 计划任务
72
+ Seconds: 秒
73
+ ShowAll: 显示全部
74
+ SixMonths: 6个月
75
+ Size: 大小
76
+ Started: 已启动
77
+ Status: 状态
78
+ Stop: 强制暂停
79
+ StopAll: 全部强制暂停
80
+ StopPolling: 停止轮询
81
+ Success: 成功
82
+ Summary: 概览
83
+ Thread: 线程
84
+ Threads: 线程
85
+ ThreeMonths: 3个月
86
+ Time: 时间
87
+ Unpause: 取消暂停
88
+ Uptime: 运行时间(天)
89
+ Utilization: 利用率
90
+ Version: 版本
91
+ When: 当
92
+ Worker: 线程
93
+ active: 活动中
94
+ idle: 闲置
95
+ Metrics: 指标
96
+ NoDataFound: 无数据
97
+ TotalExecutionTime: 总执行时间
98
+ AvgExecutionTime: 平均执行时间
99
+ Context: 上下文
100
+ NoJobMetricsFound: 无任务相关指标数据
101
+ Filter: 过滤
102
+ AnyJobContent: 任何任务内容
103
+ Profiles: 性能分析
104
+ Data: 数据
105
+ View: 查看
106
+ Token: 标记
107
+ ElapsedTime: 已用时间
@@ -1,5 +1,6 @@
1
1
  # elements like %{queue} are variables and should not be translated
2
- zh-tw: # <---- change this to your locale code
2
+ zh-TW: # <---- change this to your locale code
3
+ LanguageName: 繁體中文
3
4
  Dashboard: 資訊主頁
4
5
  Status: 狀態
5
6
  Time: 時間
@@ -7,6 +8,7 @@ zh-tw: # <---- change this to your locale code
7
8
  Realtime: 即時
8
9
  History: 歷史資料
9
10
  Busy: 忙碌
11
+ Utilization: 使用率
10
12
  Processed: 已處理
11
13
  Failed: 已失敗
12
14
  Scheduled: 已排程
@@ -25,26 +27,30 @@ zh-tw: # <---- change this to your locale code
25
27
  CurrentMessagesInQueue: 目前在<span class='title'>%{queue}</span>的工作
26
28
  Delete: 刪除
27
29
  AddToQueue: 增加至佇列
28
- AreYouSureDeleteJob: 你確定要刪除這個工作嗎?
29
- AreYouSureDeleteQueue: 你確定要刪除%{queue}這個佇列?
30
+ AddAllToQueue: 增加所有至佇列
31
+ AreYouSureDeleteJob: 確定要刪除這個工作嗎?
32
+ AreYouSureDeleteQueue: 確定要刪除%{queue}佇列?這會刪除佇列裡的所有工作,佇列將會在有新工作時重新出現。
30
33
  Queues: 佇列
31
34
  Size: 容量
32
35
  Actions: 動作
33
36
  NextRetry: 下次重試
34
37
  RetryCount: 重試次數
35
38
  RetryNow: 馬上重試
39
+ Kill: 取消
36
40
  LastRetry: 最後一次重試
37
41
  OriginallyFailed: 原本已失敗
38
42
  AreYouSure: 你確定?
39
- DeleteAll: 刪除全部
40
- RetryAll: 重試全部
41
- NoRetriesFound: 沒有發現可重試
43
+ DeleteAll: 全部刪除
44
+ RetryAll: 全部重試
45
+ KillAll: 全部取消
46
+ NoRetriesFound: 找無可重試的工作
42
47
  Error: 錯誤
48
+ ErrorBacktrace: 錯誤的回調追踨
43
49
  ErrorClass: 錯誤類別
44
50
  ErrorMessage: 錯誤訊息
45
- ErrorBacktrace: 錯誤的回調追踨
51
+ ErrorBacktrace: 詳細錯誤訊息
46
52
  GoBack: ← 返回
47
- NoScheduledFound: 沒有發現已排程的工作
53
+ NoScheduledFound: 找無已排程的工作
48
54
  When: 當
49
55
  ScheduledJobs: 已排程的工作
50
56
  idle: 閒置
@@ -59,10 +65,39 @@ zh-tw: # <---- change this to your locale code
59
65
  ThreeMonths: 三個月
60
66
  SixMonths: 六個月
61
67
  Failures: 失敗
62
- DeadJobs: 停滯工作
68
+ GoBack: ← 返回
69
+ History: 歷史資料
70
+ Job: 工作
71
+ Jobs: 工作
72
+ LastRetry: 最後一次重試
73
+ LivePoll: 即時輪詢
74
+ MemoryUsage: 記憶體使用量
75
+ Namespace: 命名空間
76
+ NextRetry: 下次重試
63
77
  NoDeadJobsFound: 沒有發現任何停滯的工作
64
78
  Dead: 停滯
79
+ Process: 程序
65
80
  Processes: 處理中
81
+ Name: 名稱
66
82
  Thread: 執行緒
67
83
  Threads: 執行緒
68
84
  Jobs: 工作
85
+ Paused: 已暫停
86
+ Stop: 強制暫停
87
+ Quiet: 暫停
88
+ StopAll: 全部強制暫停
89
+ QuietAll: 全部暫停
90
+ PollingInterval: 輪詢週期
91
+ Plugins: 套件
92
+ NotYetEnqueued: 尚未進入佇列
93
+ CreatedAt: 建立時間
94
+ BackToApp: 回首頁
95
+ Latency: 延時
96
+ Pause: 暫停
97
+ Unpause: 取消暫停
98
+ Metrics: 計量
99
+ NoDataFound: 找無資料
100
+ TotalExecutionTime: 總執行時間
101
+ AvgExecutionTime: 平均執行時間
102
+ Context: 上下文
103
+ NoJobMetricsFound: 找無工作相關計量資料
@@ -0,0 +1,32 @@
1
+ <footer>
2
+ <div class="container">
3
+ <ul class="nav">
4
+ <li>
5
+ <p><b><%= product_version %></b></p>
6
+ </li>
7
+ <li>
8
+ <p title="<%= redis_url %>"><%= redis_url %></p>
9
+ </li>
10
+ <li>
11
+ <p id="serverUtcTime"><%= server_utc_time %></p>
12
+ </li>
13
+ <li>
14
+ <p><a rel="help" href="https://github.com/sidekiq/sidekiq/wiki">docs</a></p>
15
+ </li>
16
+ <li>
17
+ <form id="locale-form" action="<%= root_path %>change_locale" method="post">
18
+ <%= csrf_tag %>
19
+ <select id="locale-select" aria-label="<%= t("Language") %>" class="form-control" name="locale">
20
+ <% available_locales.each do |locale_option| %>
21
+ <% if locale_option == locale %>
22
+ <option selected value="<%= locale_option %>"><%= language_name(locale_option) %></option>
23
+ <% else %>
24
+ <option value="<%= locale_option %>"><%= language_name(locale_option) %></option>
25
+ <% end %>
26
+ <% end %>
27
+ </select>
28
+ </form>
29
+ </li>
30
+ </ul>
31
+ </div>
32
+ </footer>
@@ -0,0 +1,115 @@
1
+ <section>
2
+ <header>
3
+ <h1><%= t('Job') %></h1>
4
+ </header>
5
+
6
+ <div class="table_container">
7
+ <table>
8
+ <tbody>
9
+ <tr>
10
+ <th><%= t('Queue') %></th>
11
+ <td>
12
+ <a href="<%= root_path %>queues/<%= job.queue %>"><%= job.queue %></a>
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <th><%= t('Job') %></th>
17
+ <td>
18
+ <%= job.display_class %>
19
+ <%= display_tags(job) %>
20
+ </td>
21
+ </tr>
22
+ <tr>
23
+ <th><%= t('Arguments') %></th>
24
+ <td>
25
+ <code class="code-wrap">
26
+ <!-- We don't want to truncate any job arguments when viewing a single job's status page -->
27
+ <div class="args-extended"><%= display_args(job.display_args, nil) %></div>
28
+ </code>
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <th>JID</th>
33
+ <td>
34
+ <code><%= job.jid %></code>
35
+ </td>
36
+ </tr>
37
+ <% if (state = job.iterable_state) %>
38
+ <tr>
39
+ <th>Iteration</th>
40
+ <td>
41
+ <code>cursor=<%= h(state.cursor.inspect) %>; exec=<%= state.executions %>; rt=<%= number_with_delimiter(state.runtime, precision: 3) %>s</code>
42
+ </td>
43
+ </tr>
44
+ <% end %>
45
+ <% if job.bid %>
46
+ <tr>
47
+ <th>BID</th>
48
+ <td>
49
+ <a href="<%= root_path %>batches/<%= job.bid %>"><%= job.bid %></a>
50
+ </td>
51
+ </tr>
52
+ <% end %>
53
+ <tr>
54
+ <th><%= t('CreatedAt') %></th>
55
+ <td><%= relative_time(job.created_at) %></td>
56
+ </tr>
57
+ <tr>
58
+ <th><%= t('Enqueued') %></th>
59
+ <td><%= (enqueued_at = job.enqueued_at) ? relative_time(enqueued_at) : t('NotYetEnqueued') %></td>
60
+ </tr>
61
+ <% unless retry_extra_items(job).empty? %>
62
+ <tr>
63
+ <th><%= t('Extras') %></th>
64
+ <td>
65
+ <code>
66
+ <%= retry_extra_items(job).inspect %>
67
+ </code>
68
+ </td>
69
+ </tr>
70
+ <% end %>
71
+ <% if type == :retry %>
72
+ <% if job['retry_count'] && job['retry_count'] > 0 %>
73
+ <tr>
74
+ <th><%= t('RetryCount') %></th>
75
+ <td><%= job['retry_count'] %></td>
76
+ </tr>
77
+ <tr>
78
+ <th><%= t('LastRetry') %></th>
79
+ <td><%= relative_time(job.retried_at) %></td>
80
+ </tr>
81
+ <% else %>
82
+ <tr>
83
+ <th><%= t('OriginallyFailed') %></th>
84
+ <td><%= relative_time(job.failed_at) %></td>
85
+ </tr>
86
+ <% end %>
87
+ <tr>
88
+ <th><%= t('NextRetry') %></th>
89
+ <td><%= relative_time(job.at) %></td>
90
+ </tr>
91
+ <% end %>
92
+ <% if type == :scheduled %>
93
+ <tr>
94
+ <th><%= t('Scheduled') %></th>
95
+ <td><%= relative_time(job.at) %></td>
96
+ </tr>
97
+ <% end %>
98
+ <% if type == :dead %>
99
+ <tr>
100
+ <th><%= t('LastRetry') %></th>
101
+ <td><%= relative_time(job.at) if job['retry_count'] %></td>
102
+ </tr>
103
+ <% end %>
104
+ <% config.custom_job_info_rows&.each do |helper| %>
105
+ <% helper.add_pair(job) do |name, value| %>
106
+ <tr>
107
+ <th><%= name %></th>
108
+ <td><%= value %></td>
109
+ </tr>
110
+ <% end %>
111
+ <% end %>
112
+ </tbody>
113
+ </table>
114
+ </div>
115
+ </section>
@@ -0,0 +1,15 @@
1
+ <div class="filter">
2
+ <form id="metrics-form" class="form-inline" action="<%= path %>" method="get">
3
+ <label for="substr"><%= t('Filter') %></label>
4
+ <input id="class-filter" class="form-control" type="text" name="substr" placeholder="<%= t('Name') %>" value="<%= h url_params("substr") %>" autocomplete="off">
5
+ <select id="period-selector" class="form-control" name="period">
6
+ <% periods.each_key do |code| %>
7
+ <% if code == period %>
8
+ <option selected value="<%= code %>"><%= code %></option>
9
+ <% else %>
10
+ <option value="<%= code %>"><%= code %></option>
11
+ <% end %>
12
+ <% end %>
13
+ </select>
14
+ </form>
15
+ </div>