sidekiq 4.2.10 → 7.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +5 -5
  2. data/Changes.md +859 -7
  3. data/LICENSE.txt +9 -0
  4. data/README.md +49 -50
  5. data/bin/multi_queue_bench +271 -0
  6. data/bin/sidekiq +22 -3
  7. data/bin/sidekiqload +212 -119
  8. data/bin/sidekiqmon +11 -0
  9. data/lib/generators/sidekiq/job_generator.rb +59 -0
  10. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  11. data/lib/generators/sidekiq/templates/job_spec.rb.erb +6 -0
  12. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  13. data/lib/sidekiq/api.rb +680 -315
  14. data/lib/sidekiq/capsule.rb +132 -0
  15. data/lib/sidekiq/cli.rb +268 -248
  16. data/lib/sidekiq/client.rb +136 -101
  17. data/lib/sidekiq/component.rb +68 -0
  18. data/lib/sidekiq/config.rb +293 -0
  19. data/lib/sidekiq/deploy.rb +64 -0
  20. data/lib/sidekiq/embedded.rb +63 -0
  21. data/lib/sidekiq/fetch.rb +49 -42
  22. data/lib/sidekiq/iterable_job.rb +55 -0
  23. data/lib/sidekiq/job/interrupt_handler.rb +24 -0
  24. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  25. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  26. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  27. data/lib/sidekiq/job/iterable.rb +231 -0
  28. data/lib/sidekiq/job.rb +385 -0
  29. data/lib/sidekiq/job_logger.rb +62 -0
  30. data/lib/sidekiq/job_retry.rb +305 -0
  31. data/lib/sidekiq/job_util.rb +109 -0
  32. data/lib/sidekiq/launcher.rb +208 -108
  33. data/lib/sidekiq/logger.rb +131 -0
  34. data/lib/sidekiq/manager.rb +43 -47
  35. data/lib/sidekiq/metrics/query.rb +158 -0
  36. data/lib/sidekiq/metrics/shared.rb +97 -0
  37. data/lib/sidekiq/metrics/tracking.rb +148 -0
  38. data/lib/sidekiq/middleware/chain.rb +113 -56
  39. data/lib/sidekiq/middleware/current_attributes.rb +113 -0
  40. data/lib/sidekiq/middleware/i18n.rb +7 -7
  41. data/lib/sidekiq/middleware/modules.rb +23 -0
  42. data/lib/sidekiq/monitor.rb +147 -0
  43. data/lib/sidekiq/paginator.rb +28 -16
  44. data/lib/sidekiq/processor.rb +188 -98
  45. data/lib/sidekiq/rails.rb +46 -97
  46. data/lib/sidekiq/redis_client_adapter.rb +114 -0
  47. data/lib/sidekiq/redis_connection.rb +71 -73
  48. data/lib/sidekiq/ring_buffer.rb +31 -0
  49. data/lib/sidekiq/scheduled.rb +140 -51
  50. data/lib/sidekiq/sd_notify.rb +149 -0
  51. data/lib/sidekiq/systemd.rb +26 -0
  52. data/lib/sidekiq/testing/inline.rb +6 -5
  53. data/lib/sidekiq/testing.rb +95 -85
  54. data/lib/sidekiq/transaction_aware_client.rb +51 -0
  55. data/lib/sidekiq/version.rb +3 -1
  56. data/lib/sidekiq/web/action.rb +22 -16
  57. data/lib/sidekiq/web/application.rb +230 -86
  58. data/lib/sidekiq/web/csrf_protection.rb +183 -0
  59. data/lib/sidekiq/web/helpers.rb +241 -104
  60. data/lib/sidekiq/web/router.rb +23 -19
  61. data/lib/sidekiq/web.rb +118 -110
  62. data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
  63. data/lib/sidekiq.rb +96 -185
  64. data/sidekiq.gemspec +26 -27
  65. data/web/assets/images/apple-touch-icon.png +0 -0
  66. data/web/assets/javascripts/application.js +157 -61
  67. data/web/assets/javascripts/base-charts.js +106 -0
  68. data/web/assets/javascripts/chart.min.js +13 -0
  69. data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
  70. data/web/assets/javascripts/dashboard-charts.js +192 -0
  71. data/web/assets/javascripts/dashboard.js +37 -280
  72. data/web/assets/javascripts/metrics.js +298 -0
  73. data/web/assets/stylesheets/application-dark.css +147 -0
  74. data/web/assets/stylesheets/application-rtl.css +163 -0
  75. data/web/assets/stylesheets/application.css +173 -198
  76. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  77. data/web/assets/stylesheets/bootstrap.css +2 -2
  78. data/web/locales/ar.yml +87 -0
  79. data/web/locales/cs.yml +62 -62
  80. data/web/locales/da.yml +60 -53
  81. data/web/locales/de.yml +65 -53
  82. data/web/locales/el.yml +43 -24
  83. data/web/locales/en.yml +86 -64
  84. data/web/locales/es.yml +70 -53
  85. data/web/locales/fa.yml +65 -64
  86. data/web/locales/fr.yml +83 -62
  87. data/web/locales/gd.yml +99 -0
  88. data/web/locales/he.yml +80 -0
  89. data/web/locales/hi.yml +59 -59
  90. data/web/locales/it.yml +53 -53
  91. data/web/locales/ja.yml +75 -62
  92. data/web/locales/ko.yml +52 -52
  93. data/web/locales/lt.yml +83 -0
  94. data/web/locales/nb.yml +61 -61
  95. data/web/locales/nl.yml +52 -52
  96. data/web/locales/pl.yml +45 -45
  97. data/web/locales/pt-br.yml +83 -55
  98. data/web/locales/pt.yml +51 -51
  99. data/web/locales/ru.yml +68 -63
  100. data/web/locales/sv.yml +53 -53
  101. data/web/locales/ta.yml +60 -60
  102. data/web/locales/tr.yml +101 -0
  103. data/web/locales/uk.yml +62 -61
  104. data/web/locales/ur.yml +80 -0
  105. data/web/locales/vi.yml +83 -0
  106. data/web/locales/zh-cn.yml +43 -16
  107. data/web/locales/zh-tw.yml +42 -8
  108. data/web/views/_footer.erb +21 -3
  109. data/web/views/_job_info.erb +21 -4
  110. data/web/views/_metrics_period_select.erb +12 -0
  111. data/web/views/_nav.erb +5 -19
  112. data/web/views/_paging.erb +3 -1
  113. data/web/views/_poll_link.erb +3 -6
  114. data/web/views/_summary.erb +7 -7
  115. data/web/views/busy.erb +85 -31
  116. data/web/views/dashboard.erb +50 -20
  117. data/web/views/dead.erb +3 -3
  118. data/web/views/filtering.erb +7 -0
  119. data/web/views/layout.erb +17 -6
  120. data/web/views/metrics.erb +91 -0
  121. data/web/views/metrics_for_job.erb +59 -0
  122. data/web/views/morgue.erb +14 -15
  123. data/web/views/queue.erb +34 -24
  124. data/web/views/queues.erb +20 -4
  125. data/web/views/retries.erb +19 -16
  126. data/web/views/retry.erb +3 -3
  127. data/web/views/scheduled.erb +19 -17
  128. metadata +91 -198
  129. data/.github/contributing.md +0 -32
  130. data/.github/issue_template.md +0 -9
  131. data/.gitignore +0 -12
  132. data/.travis.yml +0 -18
  133. data/3.0-Upgrade.md +0 -70
  134. data/4.0-Upgrade.md +0 -53
  135. data/COMM-LICENSE +0 -95
  136. data/Ent-Changes.md +0 -173
  137. data/Gemfile +0 -29
  138. data/LICENSE +0 -9
  139. data/Pro-2.0-Upgrade.md +0 -138
  140. data/Pro-3.0-Upgrade.md +0 -44
  141. data/Pro-Changes.md +0 -628
  142. data/Rakefile +0 -12
  143. data/bin/sidekiqctl +0 -99
  144. data/code_of_conduct.md +0 -50
  145. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +0 -6
  146. data/lib/generators/sidekiq/worker_generator.rb +0 -49
  147. data/lib/sidekiq/core_ext.rb +0 -119
  148. data/lib/sidekiq/exception_handler.rb +0 -31
  149. data/lib/sidekiq/extensions/action_mailer.rb +0 -57
  150. data/lib/sidekiq/extensions/active_record.rb +0 -40
  151. data/lib/sidekiq/extensions/class_methods.rb +0 -40
  152. data/lib/sidekiq/extensions/generic_proxy.rb +0 -25
  153. data/lib/sidekiq/logging.rb +0 -106
  154. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  155. data/lib/sidekiq/middleware/server/logging.rb +0 -31
  156. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
  157. data/lib/sidekiq/util.rb +0 -63
  158. data/lib/sidekiq/worker.rb +0 -121
@@ -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
data/web/locales/uk.yml CHANGED
@@ -1,76 +1,77 @@
1
+ # elements like %{queue} are variables and should not be translated
1
2
  uk:
2
- Dashboard: Панель керування
3
- Status: Статус
4
- Time: Час
5
- Namespace: Простір імен
6
- Realtime: Зараз
7
- History: Історія
3
+ Actions: Дії
4
+ AddToQueue: Додати до черги
5
+ AreYouSure: Ви впевнені?
6
+ AreYouSureDeleteJob: Ви впевнені у тому, що хочете видалити задачу?
7
+ AreYouSureDeleteQueue: Ви впевнені у тому, що хочете видалити чергу %{queue}?
8
+ Arguments: Аргументи
8
9
  Busy: Зайнятих
9
- Processed: Опрацьовано
10
- Failed: Невдалих
11
- Scheduled: Заплановано
12
- Retries: Спроби
13
- Enqueued: У черзі
14
- Worker: Обробник
15
- LivePoll: Постійне опитування
16
- StopPolling: Зупинити опитування
17
- Queue: Черга
18
10
  Class: Клас
19
- Job: Задача
20
- Arguments: Аргументи
21
- Extras: Додатково
22
- Started: Запущено
23
- ShowAll: Відобразити усі
11
+ Connections: З'єднань
24
12
  CurrentMessagesInQueue: Поточні задачі у черзі <span class='title'>%{queue}</span>
13
+ Dashboard: Панель керування
14
+ Dead: Вбитих
15
+ DeadJobs: Вбиті задачі
25
16
  Delete: Видалити
26
- AddToQueue: Додати до черги
27
- AreYouSureDeleteJob: Ви впевнені у тому, що хочете видалити задачу?
28
- AreYouSureDeleteQueue: Ви впевнені у тому, що хочете видалити чергу %{queue}?
29
- Queues: Черги
30
- Size: Розмір
31
- Actions: Дії
32
- NextRetry: Наступна спроба
33
- RetryCount: Кількість спроб
34
- RetryNow: Повторити зараз
35
- Kill: Вбиваємо
36
- LastRetry: Остання спроба
37
- OriginallyFailed: Перша невдала спроба
38
- AreYouSure: Ви впевнені?
39
17
  DeleteAll: Видалити усі
40
- RetryAll: Повторити усі
41
- NoRetriesFound: Спроб не знайдено
18
+ Enqueued: У черзі
42
19
  Error: Помилка
20
+ ErrorBacktrace: Трасування помилки
43
21
  ErrorClass: Клас помилки
44
22
  ErrorMessage: Повідомлення про помилку
45
- ErrorBacktrace: Трасування помилки
23
+ Extras: Додатково
24
+ Failed: Невдалих
25
+ Failures: Невдачі
46
26
  GoBack: ← Назад
47
- NoScheduledFound: Запланованих задач не знайдено
48
- When: Коли
49
- ScheduledJobs: Заплановані задачі
50
- idle: незайнятий
51
- active: активний
52
- Version: Версія
53
- Connections: З'єднань
27
+ History: Історія
28
+ Job: Задача
29
+ Jobs: Задачі
30
+ Kill: Вбиваємо
31
+ LastRetry: Остання спроба
32
+ LivePoll: Постійне опитування
54
33
  MemoryUsage: Використання пам'яті
55
- PeakMemoryUsage: Максимальне використання пам'яті
56
- Uptime: Днів безперебійної роботи
57
- OneWeek: 1 тиждень
58
- OneMonth: 1 місяць
59
- ThreeMonths: 3 місяці
60
- SixMonths: 6 місяців
61
- Failures: Невдачі
62
- DeadJobs: Вбиті задачі
34
+ Namespace: Простір імен
35
+ NextRetry: Наступна спроба
63
36
  NoDeadJobsFound: Вбитих задач не знайдено
64
- Dead: Вбитих
65
- Processes: Процеси
66
- Thread: Потік
67
- Threads: Потоки
68
- Jobs: Задачі
37
+ NoRetriesFound: Спроб не знайдено
38
+ NoScheduledFound: Запланованих задач не знайдено
39
+ NotYetEnqueued: Ще не в черзі
40
+ OneMonth: 1 місяць
41
+ OneWeek: 1 тиждень
42
+ OriginallyFailed: Перша невдала спроба
69
43
  Paused: Призупинено
70
- Stop: Зупинити
44
+ PeakMemoryUsage: Максимальне використання пам'яті
45
+ Plugins: Плагіни
46
+ PollingInterval: Інтервал опитування
47
+ Processed: Опрацьовано
48
+ Processes: Процеси
49
+ Queue: Черга
50
+ Queues: Черги
71
51
  Quiet: Призупинити
72
- StopAll: Зупинити усі
73
52
  QuietAll: Призупинити усі
74
- PollingInterval: Інтервал опитування
75
- Plugins: Плагіни
76
- NotYetEnqueued: Ще не в черзі
53
+ Realtime: Зараз
54
+ Retries: Спроби
55
+ RetryAll: Повторити усі
56
+ RetryCount: Кількість спроб
57
+ RetryNow: Повторити зараз
58
+ Scheduled: Заплановано
59
+ ScheduledJobs: Заплановані задачі
60
+ ShowAll: Відобразити усі
61
+ SixMonths: 6 місяців
62
+ Size: Розмір
63
+ Started: Запущено
64
+ Status: Статус
65
+ Stop: Зупинити
66
+ StopAll: Зупинити усі
67
+ StopPolling: Зупинити опитування
68
+ Thread: Потік
69
+ Threads: Потоки
70
+ ThreeMonths: 3 місяці
71
+ Time: Час
72
+ Uptime: Днів безперебійної роботи
73
+ Version: Версія
74
+ When: Коли
75
+ Worker: Обробник
76
+ active: активний
77
+ idle: незайнятий
@@ -0,0 +1,80 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ ur:
3
+ Actions: ﻋﻮاﻣﻞ
4
+ AddToQueue: ﻗﻄﺎﺭ ميں شامل کريں
5
+ AreYouSure: کيا یقین ؟
6
+ AreYouSureDeleteJob: کيا آپ یقین جاب حتم کرنا چاھتے ہيں ؟
7
+ AreYouSureDeleteQueue: کيا آپ یقین قطار حتم کرنا چاھتے ہيں ؟
8
+ Arguments: دلائل
9
+ BackToApp: ﻭاپﺱ صفحۂ اﻭﻝ پر
10
+ Busy: مصروف
11
+ Class: کلاس
12
+ Connections: کنکشنز
13
+ CreatedAt: ﺗﺎﺭﻳﺢ آﻏﺎﺯ
14
+ CurrentMessagesInQueue: قطار ميں موجود تمام پيغامات <span class='title'>%{queue}</span>
15
+ Dashboard: صفحۂ اول
16
+ Dead: ختم شدہ
17
+ DeadJobs: ختم شدہ جاب
18
+ Delete: ﺣﺬﻑ
19
+ DeleteAll: ﺗﻤﺎﻡ ﺣﺬﻑ کر ديں
20
+ Enqueued: قطار ميں شامل
21
+ Error: مسئلہ
22
+ ErrorBacktrace: مسئلہ کی کی تحقیقات کريں
23
+ ErrorClass: مسئلہ کی کلاس
24
+ ErrorMessage: مسئلہ کی وجہ
25
+ Extras: اﺻﺎﻑی
26
+ Failed: ﻧﺎکاﻡ ﺷﺪﮦ
27
+ Failures: ناکامیاں
28
+ GoBack: واپس جايں
29
+ History: ﺗﺎﺭﻳﺦ
30
+ Job: جاب
31
+ Jobs: جابز
32
+ Kill: ختم کرديں
33
+ LastRetry: گزشتہ کوشش
34
+ LivePoll: ﺑﺮاﮦ ﺭاﺳﺖ
35
+ MemoryUsage: یاداشت کا استعمال
36
+ Namespace: Namespace
37
+ NextRetry: اگلی کﻭﺷﻴﺶ
38
+ NoDeadJobsFound: کویٔ ختم شدہ جاب نہيی ملی
39
+ NoRetriesFound: کویٔ ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ نھيں ملی
40
+ NoScheduledFound: کویٔ ﻁےﺷﺪﮦچيز نہیں ملی
41
+ NotYetEnqueued: ﻗﺘﺎﺭميں شامل نھيں
42
+ OneMonth: ایک مہینہ
43
+ OneWeek: ایک ہفتہ
44
+ OriginallyFailed: ابتادائ ناکامی
45
+ Paused: موقوف
46
+ PeakMemoryUsage: سب سے زيادہ یاداشت کا استعمال
47
+ Plugins: پلگ انز
48
+ PollingInterval: ﺑﺮاﮦ ﺭاﺳﺖ کا ﺩﻭﺭاﻧﻴﮧ
49
+ Processed: مکمل شدہ
50
+ Processes: ﻋﻤﻠﻴﺎﺕ
51
+ Queue: قطار
52
+ Queues: قطاريں
53
+ Quiet: ﺣﺘﻢ کﺭﻭ
54
+ QuietAll: ﺗﻤﺎﻡ ﺣﺘﻢ کﺭﻭ
55
+ Realtime: ﺑﺮاﮦ ﺭاﺳﺖ
56
+ Retries: ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ
57
+ RetryAll: ﺗﻤﺎﻡ کی ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ کﺭيں
58
+ RetryCount: دوبارہ کوشش کا مکمل شمار
59
+ RetryNow: ابھی دوبارہ کوشش
60
+ Scheduled: ﻁےﺷﺪﮦ
61
+ ScheduledJobs: ﻁےﺷﺪﮦجاب
62
+ ShowAll: سارے دکھاو
63
+ SixMonths: چھ ماہ
64
+ Size: ﺣﺠﻢ
65
+ Started: شروع
66
+ Status: اسٹیٹس
67
+ Stop: بند کرو
68
+ StopAll: ﺗﻤﺎﻡ ﺑﻨﺪ کﺭﻭ
69
+ StopPolling: ﺑﺮاﮦ ﺭاﺳﺖ روکيے
70
+ TextDirection: 'rtl'
71
+ Thread: موضوع
72
+ Threads: موضوع
73
+ ThreeMonths: تین ماہ
74
+ Time: ﻭﻗﺖ
75
+ Uptime: اپ ٹائم
76
+ Version: ورژن
77
+ When: ﺏک
78
+ Worker: ورکر
79
+ active: فعال
80
+ idle: بیکار
@@ -0,0 +1,83 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ vi:
3
+ Actions: Những hành động
4
+ AddToQueue: Thêm vào hàng đợi
5
+ AreYouSure: Bạn chắc chứ?
6
+ AreYouSureDeleteJob: Bạn có chắc là muốn xóa tác vụ này?
7
+ AreYouSureDeleteQueue: Bạn có chắc là muốn xóa %{queue} này?
8
+ Arguments: Tham số
9
+ BackToApp: Trở về ứng dụng
10
+ Busy: Bận rộn
11
+ Class: Lớp
12
+ Connections: Các kết nối
13
+ CreatedAt: Được tạo vào lúc
14
+ CurrentMessagesInQueue: Số lượng công việc trong <span class='title'>%{queue}</span>
15
+ Dashboard: Bảng điều khiển
16
+ Dead: Chết
17
+ DeadJobs: Những tác vụ đã chết
18
+ Delete: Xóa
19
+ DeleteAll: Xóa hết
20
+ Enqueued: Đã xếp hàng đợi
21
+ Error: Lỗi
22
+ ErrorBacktrace: Dấu vết của lỗi
23
+ ErrorClass: Lớp lỗi
24
+ ErrorMessage: Tin nhắn lỗi
25
+ Extras: Thêm
26
+ Failed: Đã thất bại
27
+ Failures: Các thất bại
28
+ GoBack: ← Trở lại
29
+ History: Lịch sử
30
+ Job: Tác vụ
31
+ Jobs: Các tác vụ
32
+ Kill: Giết
33
+ KillAll: Giết hết
34
+ LastRetry: Lần thử cuối
35
+ Latency: Độ trễ
36
+ LivePoll: Thăm dò trực tiếp
37
+ MemoryUsage: Lượng bộ nhớ sử dụng
38
+ Namespace: Không gian tên
39
+ NextRetry: Lần thử lại tiếp theo
40
+ NoDeadJobsFound: Không có tác vụ đã chết nào được tìm thấy
41
+ NoRetriesFound: Không có lần thử nào được tìm thấy
42
+ NoScheduledFound: Không có tác vụ đã lên lịch nào được tìm thấy
43
+ NotYetEnqueued: Chưa được bỏ vào hàng đợi
44
+ OneMonth: 1 tháng
45
+ OneWeek: 1 tuần
46
+ OriginallyFailed: Đã thất bại từ đầu
47
+ Pause: Tạm dừng
48
+ Paused: Đã tạm dừng
49
+ PeakMemoryUsage: Lượng bộ nhớ sử dụng đỉnh điểm
50
+ Plugins: Hệ thống đính kèm
51
+ PollingInterval: Khoảng thời gian giữa các lần thăm dò
52
+ Processed: Đã xử lí
53
+ Processes: Tiến trình xử lí
54
+ Queue: Hàng đợi
55
+ Queues: Các hàng đợi
56
+ Quiet: Im lặng
57
+ QuietAll: Làm cho tất cả im lặng
58
+ Realtime: Thời gian thực
59
+ Retries: Số lần thử
60
+ RetryAll: Thử lại tất cả
61
+ RetryCount: Số lần thử lại
62
+ RetryNow: Thử lại ngay bây giờ
63
+ Scheduled: Đã lên lịch
64
+ ScheduledJobs: Những Tác Vụ Được Hẹn
65
+ ShowAll: Hiện tất cả
66
+ SixMonths: 6 tháng
67
+ Size: Kích thước
68
+ Started: Đã bắt đầu
69
+ Status: Trạng thái
70
+ Stop: Dừng Lại
71
+ StopAll: Dừng lại tất cả
72
+ StopPolling: Ngừng thăm dò
73
+ Thread: Luồng xử lí
74
+ Threads: Những luồng xử lí
75
+ ThreeMonths: 3 tháng
76
+ Time: Thời gian
77
+ Unpause: Hủy tạm dừng
78
+ Uptime: Thời gian hệ thống đã online (days)
79
+ Version: Phiên bản
80
+ When: Khi nào
81
+ Worker: Máy xử lí
82
+ active: Đang hoạt động
83
+ idle: Đang chờ
@@ -7,6 +7,7 @@ zh-cn: # <---- change this to your locale code
7
7
  Realtime: 实时
8
8
  History: 历史记录
9
9
  Busy: 执行中
10
+ Utilization: 利用率
10
11
  Processed: 已处理
11
12
  Failed: 已失败
12
13
  Scheduled: 已计划
@@ -17,36 +18,38 @@ zh-cn: # <---- change this to your locale code
17
18
  StopPolling: 停止轮询
18
19
  Queue: 队列
19
20
  Class: 类别
20
- Job: 作业
21
+ Job: 任务
21
22
  Arguments: 参数
22
23
  Extras: 额外的
23
24
  Started: 已开始
24
25
  ShowAll: 显示全部
25
- CurrentMessagesInQueue: 目前在<span class='title'>%{queue}</span>的作业
26
+ CurrentMessagesInQueue: 目前在<span class='title'>%{queue}</span>的任务
26
27
  Delete: 删除
27
28
  AddToQueue: 添加至队列
28
- AreYouSureDeleteJob: 你确定要删除这个作业么?
29
+ AreYouSureDeleteJob: 你确定要删除这个任务么?
29
30
  AreYouSureDeleteQueue: 你确定要删除%{queue}这个队列?
30
31
  Queues: 队列
31
32
  Size: 容量
32
33
  Actions: 动作
33
34
  NextRetry: 下次重试
34
- RetryCount: 重试次數
35
+ RetryCount: 重试次数
35
36
  RetryNow: 现在重试
36
- LastRetry: 最后一次重试
37
- OriginallyFailed: 原本已失败
37
+ Kill: 终止
38
+ LastRetry: 上次重试
39
+ OriginallyFailed: 首次失败
38
40
  AreYouSure: 你确定?
39
- DeleteAll: 删除全部
40
- RetryAll: 重试全部
41
- NoRetriesFound: 沒有发现可重试
41
+ DeleteAll: 全部删除
42
+ RetryAll: 全部重试
43
+ KillAll: 全部终止
44
+ NoRetriesFound: 没有发现可重试
42
45
  Error: 错误
43
46
  ErrorClass: 错误类别
44
47
  ErrorMessage: 错误消息
45
- ErrorBacktrace: 错误的回调追踪
48
+ ErrorBacktrace: 错误细节
46
49
  GoBack: ← 返回
47
- NoScheduledFound: 沒有发现计划作业
50
+ NoScheduledFound: 没有发现计划任务
48
51
  When: 当
49
- ScheduledJobs: 计划作业
52
+ ScheduledJobs: 计划任务
50
53
  idle: 闲置
51
54
  active: 活动中
52
55
  Version: 版本
@@ -59,10 +62,34 @@ zh-cn: # <---- change this to your locale code
59
62
  ThreeMonths: 三个月
60
63
  SixMonths: 六个月
61
64
  Failures: 失败
62
- DeadJobs: 已停滞作业
63
- NoDeadJobsFound: 沒有发现任何已停滞的作业
65
+ DeadJobs: 已停滞任务
66
+ NoDeadJobsFound: 没有发现任何已停滞的任务
64
67
  Dead: 已停滞
65
- Processes: 处理中
68
+ Process: 进程
69
+ Processes: 进程
70
+ Name: 名称
66
71
  Thread: 线程
67
72
  Threads: 线程
68
- Jobs: 作业
73
+ Jobs: 任务
74
+ Paused: 已暂停
75
+ Stop: 强制暂停
76
+ Quiet: 暂停
77
+ StopAll: 全部强制暂停
78
+ QuietAll: 全部暂停
79
+ PollingInterval: 轮询周期
80
+ Plugins: 插件
81
+ NotYetEnqueued: 尚未进入队列
82
+ CreatedAt: 建立时间
83
+ BackToApp: 回首頁
84
+ Latency: 延迟
85
+ Pause: 暂停
86
+ Unpause: 取消暂停
87
+ Metrics: 指标
88
+ NoDataFound: 无数据
89
+ TotalExecutionTime: 总执行时间
90
+ AvgExecutionTime: 平均执行时间
91
+ Context: 上下文
92
+ Bucket: 桶
93
+ NoJobMetricsFound: 无任务相关指标数据
94
+ Success: 成功
95
+ Failure: 失败
@@ -7,6 +7,7 @@ zh-tw: # <---- change this to your locale code
7
7
  Realtime: 即時
8
8
  History: 歷史資料
9
9
  Busy: 忙碌
10
+ Utilization: 使用率
10
11
  Processed: 已處理
11
12
  Failed: 已失敗
12
13
  Scheduled: 已排程
@@ -25,26 +26,29 @@ zh-tw: # <---- change this to your locale code
25
26
  CurrentMessagesInQueue: 目前在<span class='title'>%{queue}</span>的工作
26
27
  Delete: 刪除
27
28
  AddToQueue: 增加至佇列
28
- AreYouSureDeleteJob: 你確定要刪除這個工作嗎?
29
- AreYouSureDeleteQueue: 你確定要刪除%{queue}這個佇列?
29
+ AreYouSureDeleteJob: 確定要刪除這個工作嗎?
30
+ AreYouSureDeleteQueue: 確定要刪除%{queue}佇列?這會刪除佇列裡的所有工作,佇列將會在有新工作時重新出現。
30
31
  Queues: 佇列
31
32
  Size: 容量
32
33
  Actions: 動作
33
34
  NextRetry: 下次重試
34
35
  RetryCount: 重試次數
35
36
  RetryNow: 馬上重試
37
+ Kill: 取消
36
38
  LastRetry: 最後一次重試
37
39
  OriginallyFailed: 原本已失敗
38
40
  AreYouSure: 你確定?
39
- DeleteAll: 刪除全部
40
- RetryAll: 重試全部
41
- NoRetriesFound: 沒有發現可重試
41
+ DeleteAll: 全部刪除
42
+ RetryAll: 全部重試
43
+ KillAll: 全部取消
44
+ NoRetriesFound: 找無可重試的工作
42
45
  Error: 錯誤
46
+ ErrorBacktrace: 錯誤的回調追踨
43
47
  ErrorClass: 錯誤類別
44
48
  ErrorMessage: 錯誤訊息
45
- ErrorBacktrace: 錯誤的回調追踨
49
+ ErrorBacktrace: 詳細錯誤訊息
46
50
  GoBack: ← 返回
47
- NoScheduledFound: 沒有發現已排程的工作
51
+ NoScheduledFound: 找無已排程的工作
48
52
  When: 當
49
53
  ScheduledJobs: 已排程的工作
50
54
  idle: 閒置
@@ -59,10 +63,40 @@ zh-tw: # <---- change this to your locale code
59
63
  ThreeMonths: 三個月
60
64
  SixMonths: 六個月
61
65
  Failures: 失敗
62
- DeadJobs: 停滯工作
66
+ GoBack: ← 返回
67
+ History: 歷史資料
68
+ Job: 工作
69
+ Jobs: 工作
70
+ LastRetry: 最後一次重試
71
+ LivePoll: 即時輪詢
72
+ MemoryUsage: 記憶體使用量
73
+ Namespace: 命名空間
74
+ NextRetry: 下次重試
63
75
  NoDeadJobsFound: 沒有發現任何停滯的工作
64
76
  Dead: 停滯
77
+ Process: 程序
65
78
  Processes: 處理中
79
+ Name: 名稱
66
80
  Thread: 執行緒
67
81
  Threads: 執行緒
68
82
  Jobs: 工作
83
+ Paused: 已暫停
84
+ Stop: 強制暫停
85
+ Quiet: 暫停
86
+ StopAll: 全部強制暫停
87
+ QuietAll: 全部暫停
88
+ PollingInterval: 輪詢週期
89
+ Plugins: 套件
90
+ NotYetEnqueued: 尚未進入佇列
91
+ CreatedAt: 建立時間
92
+ BackToApp: 回首頁
93
+ Latency: 延時
94
+ Pause: 暫停
95
+ Unpause: 取消暫停
96
+ Metrics: 計量
97
+ NoDataFound: 找無資料
98
+ TotalExecutionTime: 總執行時間
99
+ AvgExecutionTime: 平均執行時間
100
+ Context: 上下文
101
+ Bucket: 桶
102
+ NoJobMetricsFound: 找無工作相關計量資料
@@ -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">
@@ -6,10 +6,28 @@
6
6
  <p class="navbar-text product-version"><%= product_version %></p>
7
7
  </li>
8
8
  <li>
9
- <p class="navbar-text redis-url" title="<%= redis_connection_and_namespace %>"><%= redis_connection_and_namespace %></p>
9
+ <p class="navbar-text redis-url" title="<%= redis_url %>"><%= redis_url %></p>
10
10
  </li>
11
11
  <li>
12
- <p class="navbar-text"><%= Time.now.utc.strftime('%H:%M:%S UTC') %></p>
12
+ <p id="serverUtcTime" class="navbar-text server-utc-time"><%= server_utc_time %></p>
13
+ </li>
14
+ <li>
15
+ <p class="navbar-text"><a rel=help href="https://github.com/sidekiq/sidekiq/wiki">docs</a></p>
16
+ </li>
17
+ <li>
18
+ <form id="locale-form" class="form-inline" action="<%= root_path %>change_locale" method="post">
19
+ <%= csrf_tag %>
20
+ <label class="sr-only" for="locale">Language</label>
21
+ <select id="locale-select" class="form-control" name="locale">
22
+ <% available_locales.each do |locale_option| %>
23
+ <% if locale_option == locale %>
24
+ <option selected value="<%= locale_option %>"><%= locale_option %></option>
25
+ <% else %>
26
+ <option value="<%= locale_option %>"><%= locale_option %></option>
27
+ <% end %>
28
+ <% end %>
29
+ </select>
30
+ </form>
13
31
  </li>
14
32
  </ul>
15
33
  </div>
@@ -1,9 +1,9 @@
1
- <header>
1
+ <div class="header-container">
2
2
  <h3><%= t('Job') %></h3>
3
- </header>
3
+ </div>
4
4
 
5
5
  <div class="table_container">
6
- <table class="table table-bordered table-striped">
6
+ <table class="table table-bordered table-striped table-hover">
7
7
  <tbody>
8
8
  <tr>
9
9
  <th><%= t('Queue') %></th>
@@ -14,7 +14,8 @@
14
14
  <tr>
15
15
  <th><%= t('Job') %></th>
16
16
  <td>
17
- <code><%= job.display_class %></code>
17
+ <%= job.display_class %>
18
+ <%= display_tags(job) %>
18
19
  </td>
19
20
  </tr>
20
21
  <tr>
@@ -32,6 +33,14 @@
32
33
  <code><%= job.jid %></code>
33
34
  </td>
34
35
  </tr>
36
+ <% if job.bid %>
37
+ <tr>
38
+ <th>BID</th>
39
+ <td>
40
+ <a href="<%= root_path %>batches/<%= job.bid %>"><%= job.bid %></a>
41
+ </td>
42
+ </tr>
43
+ <% end %>
35
44
  <tr>
36
45
  <th><%= t('CreatedAt') %></th>
37
46
  <td><%= relative_time(job.created_at) %></td>
@@ -83,6 +92,14 @@
83
92
  <td><%= relative_time(job.at) if job['retry_count'] %></td>
84
93
  </tr>
85
94
  <% end %>
95
+ <% Sidekiq::Web.custom_job_info_rows.each do |helper| %>
96
+ <% helper.add_pair(job) do |name, value| %>
97
+ <tr>
98
+ <th><%= name %></th>
99
+ <td><%= value %></td>
100
+ </tr>
101
+ <% end %>
102
+ <% end %>
86
103
  </tbody>
87
104
  </table>
88
105
  </div>
@@ -0,0 +1,12 @@
1
+ <div>
2
+ <select class="form-control" data-metric-period="<%= path %>">
3
+ <% periods.each_key do |code| %>
4
+
5
+ <% if code == period %>
6
+ <option selected value="<%= code %>"><%= code %></option>
7
+ <% else %>
8
+ <option value="<%= code %>"><%= code %></option>
9
+ <% end %>
10
+ <% end %>
11
+ </select>
12
+ </div>