sidekiq 6.0.1 → 6.2.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Changes.md +147 -2
- data/LICENSE +1 -1
- data/README.md +4 -7
- data/bin/sidekiq +26 -2
- data/lib/generators/sidekiq/worker_generator.rb +1 -1
- data/lib/sidekiq/api.rb +151 -111
- data/lib/sidekiq/cli.rb +39 -10
- data/lib/sidekiq/client.rb +26 -15
- data/lib/sidekiq/extensions/action_mailer.rb +3 -2
- data/lib/sidekiq/extensions/active_record.rb +4 -3
- data/lib/sidekiq/extensions/class_methods.rb +5 -4
- data/lib/sidekiq/extensions/generic_proxy.rb +3 -1
- data/lib/sidekiq/fetch.rb +29 -21
- data/lib/sidekiq/job.rb +8 -0
- data/lib/sidekiq/job_logger.rb +2 -2
- data/lib/sidekiq/job_retry.rb +11 -12
- data/lib/sidekiq/launcher.rb +104 -24
- data/lib/sidekiq/logger.rb +12 -11
- data/lib/sidekiq/manager.rb +4 -4
- data/lib/sidekiq/middleware/chain.rb +6 -4
- data/lib/sidekiq/monitor.rb +2 -17
- data/lib/sidekiq/processor.rb +17 -39
- data/lib/sidekiq/rails.rb +16 -18
- data/lib/sidekiq/redis_connection.rb +21 -13
- data/lib/sidekiq/scheduled.rb +7 -1
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +24 -0
- data/lib/sidekiq/testing.rb +2 -4
- data/lib/sidekiq/util.rb +28 -2
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web/action.rb +2 -2
- data/lib/sidekiq/web/application.rb +30 -19
- data/lib/sidekiq/web/csrf_protection.rb +180 -0
- data/lib/sidekiq/web/helpers.rb +35 -24
- data/lib/sidekiq/web/router.rb +6 -5
- data/lib/sidekiq/web.rb +37 -73
- data/lib/sidekiq/worker.rb +4 -7
- data/lib/sidekiq.rb +14 -8
- data/sidekiq.gemspec +12 -5
- data/web/assets/images/apple-touch-icon.png +0 -0
- data/web/assets/javascripts/application.js +25 -27
- data/web/assets/stylesheets/application-dark.css +146 -124
- data/web/assets/stylesheets/application.css +35 -135
- data/web/locales/ar.yml +8 -2
- data/web/locales/de.yml +14 -2
- data/web/locales/en.yml +5 -0
- data/web/locales/es.yml +18 -2
- data/web/locales/fr.yml +10 -3
- data/web/locales/ja.yml +5 -0
- data/web/locales/lt.yml +83 -0
- data/web/locales/pl.yml +4 -4
- data/web/locales/ru.yml +4 -0
- data/web/locales/vi.yml +83 -0
- data/web/views/_job_info.erb +1 -1
- data/web/views/busy.erb +50 -19
- data/web/views/dashboard.erb +14 -6
- data/web/views/dead.erb +1 -1
- data/web/views/layout.erb +2 -1
- data/web/views/morgue.erb +6 -6
- data/web/views/queue.erb +1 -1
- data/web/views/queues.erb +10 -2
- data/web/views/retries.erb +7 -7
- data/web/views/retry.erb +1 -1
- data/web/views/scheduled.erb +1 -1
- metadata +26 -50
- data/.circleci/config.yml +0 -82
- data/.github/contributing.md +0 -32
- data/.github/issue_template.md +0 -11
- data/.gitignore +0 -13
- data/.standard.yml +0 -20
- data/3.0-Upgrade.md +0 -70
- data/4.0-Upgrade.md +0 -53
- data/5.0-Upgrade.md +0 -56
- data/6.0-Upgrade.md +0 -72
- data/COMM-LICENSE +0 -97
- data/Ent-2.0-Upgrade.md +0 -37
- data/Ent-Changes.md +0 -256
- data/Gemfile +0 -24
- data/Gemfile.lock +0 -196
- data/Pro-2.0-Upgrade.md +0 -138
- data/Pro-3.0-Upgrade.md +0 -44
- data/Pro-4.0-Upgrade.md +0 -35
- data/Pro-5.0-Upgrade.md +0 -25
- data/Pro-Changes.md +0 -776
- data/Rakefile +0 -10
- data/code_of_conduct.md +0 -50
data/web/locales/de.yml
CHANGED
@@ -13,7 +13,7 @@ de:
|
|
13
13
|
Retries: Versuche
|
14
14
|
Enqueued: In der Warteschlange
|
15
15
|
Worker: Arbeiter
|
16
|
-
LivePoll:
|
16
|
+
LivePoll: Echtzeitabfrage
|
17
17
|
StopPolling: Abfrage stoppen
|
18
18
|
Queue: Warteschlange
|
19
19
|
Class: Klasse
|
@@ -33,12 +33,13 @@ de:
|
|
33
33
|
NextRetry: Nächster Versuch
|
34
34
|
RetryCount: Anzahl der Versuche
|
35
35
|
RetryNow: Jetzt erneut versuchen
|
36
|
-
Kill:
|
36
|
+
Kill: Vernichten
|
37
37
|
LastRetry: Letzter Versuch
|
38
38
|
OriginallyFailed: Ursprünglich fehlgeschlagen
|
39
39
|
AreYouSure: Bist du sicher?
|
40
40
|
DeleteAll: Alle löschen
|
41
41
|
RetryAll: Alle erneut versuchen
|
42
|
+
KillAll: Alle vernichten
|
42
43
|
NoRetriesFound: Keine erneuten Versuche gefunden
|
43
44
|
Error: Fehler
|
44
45
|
ErrorClass: Fehlerklasse
|
@@ -67,3 +68,14 @@ de:
|
|
67
68
|
Thread: Thread
|
68
69
|
Threads: Threads
|
69
70
|
Jobs: Jobs
|
71
|
+
Paused: Pausiert
|
72
|
+
Stop: Stopp
|
73
|
+
Quiet: Leise
|
74
|
+
StopAll: Alle stoppen
|
75
|
+
QuietAll: Alle leise
|
76
|
+
PollingInterval: Abfrageintervall
|
77
|
+
Plugins: Erweiterungen
|
78
|
+
NotYetEnqueued: Noch nicht in der Warteschlange
|
79
|
+
CreatedAt: Erstellt
|
80
|
+
BackToApp: Zurück zur Anwendung
|
81
|
+
Latency: Latenz
|
data/web/locales/en.yml
CHANGED
@@ -7,6 +7,7 @@ en: # <---- change this to your locale code
|
|
7
7
|
Realtime: Real-time
|
8
8
|
History: History
|
9
9
|
Busy: Busy
|
10
|
+
Utilization: Utilization
|
10
11
|
Processed: Processed
|
11
12
|
Failed: Failed
|
12
13
|
Scheduled: Scheduled
|
@@ -64,7 +65,9 @@ en: # <---- change this to your locale code
|
|
64
65
|
DeadJobs: Dead Jobs
|
65
66
|
NoDeadJobsFound: No dead jobs were found
|
66
67
|
Dead: Dead
|
68
|
+
Process: Process
|
67
69
|
Processes: Processes
|
70
|
+
Name: Name
|
68
71
|
Thread: Thread
|
69
72
|
Threads: Threads
|
70
73
|
Jobs: Jobs
|
@@ -79,3 +82,5 @@ en: # <---- change this to your locale code
|
|
79
82
|
CreatedAt: Created At
|
80
83
|
BackToApp: Back to App
|
81
84
|
Latency: Latency
|
85
|
+
Pause: Pause
|
86
|
+
Unpause: Unpause
|
data/web/locales/es.yml
CHANGED
@@ -7,6 +7,7 @@ es:
|
|
7
7
|
Realtime: Tiempo Real
|
8
8
|
History: Historial
|
9
9
|
Busy: Ocupado
|
10
|
+
Utilization: Utilización
|
10
11
|
Processed: Procesadas
|
11
12
|
Failed: Fallidas
|
12
13
|
Scheduled: Programadas
|
@@ -24,9 +25,9 @@ es:
|
|
24
25
|
ShowAll: Mostrar Todo
|
25
26
|
CurrentMessagesInQueue: Mensajes actualmente en <span class='title'>%{queue}</span>
|
26
27
|
Delete: Eliminar
|
27
|
-
AddToQueue: Añadir a
|
28
|
+
AddToQueue: Añadir a la cola
|
28
29
|
AreYouSureDeleteJob: ¿Estás seguro de eliminar este trabajo?
|
29
|
-
AreYouSureDeleteQueue: ¿Estás seguro de eliminar la
|
30
|
+
AreYouSureDeleteQueue: ¿Estás seguro de eliminar la cola %{queue}?
|
30
31
|
Queues: Colas
|
31
32
|
Size: Tamaño
|
32
33
|
Actions: Acciones
|
@@ -39,6 +40,7 @@ es:
|
|
39
40
|
AreYouSure: ¿Estás seguro?
|
40
41
|
DeleteAll: Borrar Todo
|
41
42
|
RetryAll: Reintentar Todo
|
43
|
+
KillAll: Matar Todo
|
42
44
|
NoRetriesFound: No se encontraron reintentos
|
43
45
|
Error: Error
|
44
46
|
ErrorClass: Clase del Error
|
@@ -63,8 +65,22 @@ es:
|
|
63
65
|
DeadJobs: Trabajos muertos
|
64
66
|
NoDeadJobsFound: No hay trabajos muertos
|
65
67
|
Dead: Muerto
|
68
|
+
Process: Proceso
|
66
69
|
Processes: Procesos
|
70
|
+
Name: Nombre
|
67
71
|
Thread: Hilo
|
68
72
|
Threads: Hilos
|
69
73
|
Jobs: Trabajos
|
74
|
+
Paused: Pausado
|
75
|
+
Stop: Detener
|
76
|
+
Quiet: Silenciar
|
77
|
+
StopAll: Detener Todo
|
78
|
+
QuietAll: Silenciar Todo
|
79
|
+
PollingInterval: Intervalo de Sondeo
|
80
|
+
Plugins: Plugins
|
81
|
+
NotYetEnqueued: Aún no en cola
|
82
|
+
CreatedAt: Creado en
|
83
|
+
BackToApp: Volver a la Aplicación
|
70
84
|
Latency: Latencia
|
85
|
+
Pause: Pausar
|
86
|
+
Unpause: Reanudar
|
data/web/locales/fr.yml
CHANGED
@@ -7,6 +7,7 @@ fr:
|
|
7
7
|
Realtime: Temps réel
|
8
8
|
History: Historique
|
9
9
|
Busy: En cours
|
10
|
+
Utilization: Utilisation
|
10
11
|
Processed: Traitées
|
11
12
|
Failed: Échouées
|
12
13
|
Scheduled: Planifiées
|
@@ -39,6 +40,7 @@ fr:
|
|
39
40
|
AreYouSure: Êtes-vous certain ?
|
40
41
|
DeleteAll: Tout supprimer
|
41
42
|
RetryAll: Tout réessayer
|
43
|
+
KillAll: Tout tuer
|
42
44
|
NoRetriesFound: Aucune tâche à réessayer n’a été trouvée
|
43
45
|
Error: Erreur
|
44
46
|
ErrorClass: Classe d’erreur
|
@@ -63,16 +65,21 @@ fr:
|
|
63
65
|
DeadJobs: Tâches mortes
|
64
66
|
NoDeadJobsFound: Aucune tâche morte n'a été trouvée
|
65
67
|
Dead: Mortes
|
68
|
+
Process: Processus
|
66
69
|
Processes: Processus
|
67
70
|
Thread: Thread
|
68
71
|
Threads: Threads
|
69
72
|
Jobs: Tâches
|
70
73
|
Paused: Mise en pause
|
71
74
|
Stop: Arrêter
|
72
|
-
Quiet:
|
75
|
+
Quiet: Clore
|
73
76
|
StopAll: Tout arrêter
|
74
|
-
QuietAll: Tout
|
75
|
-
PollingInterval:
|
77
|
+
QuietAll: Tout clore
|
78
|
+
PollingInterval: Intervalle de rafraîchissement
|
76
79
|
Plugins: Plugins
|
77
80
|
NotYetEnqueued: Pas encore en file d'attente
|
78
81
|
CreatedAt: Créée le
|
82
|
+
Back to App: Retour à l'application
|
83
|
+
Latency: Latence
|
84
|
+
Pause: Pause
|
85
|
+
Unpause: Unpause
|
data/web/locales/ja.yml
CHANGED
@@ -7,6 +7,7 @@ ja:
|
|
7
7
|
Realtime: リアルタイム
|
8
8
|
History: 履歴
|
9
9
|
Busy: 実行中
|
10
|
+
Utilization: 使用率
|
10
11
|
Processed: 完了
|
11
12
|
Failed: 失敗
|
12
13
|
Scheduled: 予定
|
@@ -64,7 +65,9 @@ ja:
|
|
64
65
|
DeadJobs: デッドジョブ
|
65
66
|
NoDeadJobsFound: デッドジョブはありません
|
66
67
|
Dead: デッド
|
68
|
+
Process: プロセス
|
67
69
|
Processes: プロセス
|
70
|
+
Name: 名前
|
68
71
|
Thread: スレッド
|
69
72
|
Threads: スレッド
|
70
73
|
Jobs: ジョブ
|
@@ -79,3 +82,5 @@ ja:
|
|
79
82
|
CreatedAt: 作成日時
|
80
83
|
BackToApp: アプリに戻る
|
81
84
|
Latency: レイテンシ
|
85
|
+
Pause: 一時停止
|
86
|
+
Unpause: 一時停止を解除
|
data/web/locales/lt.yml
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
lt:
|
3
|
+
Dashboard: Valdymo skydas
|
4
|
+
Status: Būsena
|
5
|
+
Time: Laikas
|
6
|
+
Namespace: Vardų erdvė
|
7
|
+
Realtime: Realiu laiku
|
8
|
+
History: Istorija
|
9
|
+
Busy: Užimti
|
10
|
+
Processed: Įvykdyti
|
11
|
+
Failed: Nepavykę
|
12
|
+
Scheduled: Suplanuoti
|
13
|
+
Retries: Kartojami
|
14
|
+
Enqueued: Eilėje
|
15
|
+
Worker: Darbuotojas
|
16
|
+
LivePoll: Užklausti gyvai
|
17
|
+
StopPolling: Stabdyti užklausas
|
18
|
+
Queue: Eilė
|
19
|
+
Class: Klasė
|
20
|
+
Job: Darbas
|
21
|
+
Arguments: Parametrai
|
22
|
+
Extras: Papildomi
|
23
|
+
Started: Pradėti
|
24
|
+
ShowAll: Rodyti Visus
|
25
|
+
CurrentMessagesInQueue: Esami darbai eilėje <span class='title'>%{queue}</span>
|
26
|
+
Delete: Pašalinti
|
27
|
+
AddToQueue: Pridėti į eilę
|
28
|
+
AreYouSureDeleteJob: Ar tikrai norite pašalinti šį darbą?
|
29
|
+
AreYouSureDeleteQueue: Ar tikrai norite pašalinti šią eilę %{queue}?
|
30
|
+
Queues: Eilės
|
31
|
+
Size: Dydis
|
32
|
+
Actions: Veiksmai
|
33
|
+
NextRetry: Sekantis Kartojimas
|
34
|
+
RetryCount: Kartojimų Skaičius
|
35
|
+
RetryNow: Kartoti Dabar
|
36
|
+
Kill: Priverstinai Nutraukti
|
37
|
+
LastRetry: Paskutinis Kartojimas
|
38
|
+
OriginallyFailed: Iš pradžių Nepavykę
|
39
|
+
AreYouSure: Ar jūs įsitikinę?
|
40
|
+
DeleteAll: Pašalinti Visus
|
41
|
+
RetryAll: Kartoti Visus
|
42
|
+
KillAll: Priverstinai Nutraukti Visus
|
43
|
+
NoRetriesFound: Nerasta kartojimų
|
44
|
+
Error: Klaida
|
45
|
+
ErrorClass: Klaidos Klasė
|
46
|
+
ErrorMessage: Klaidos Žinutė
|
47
|
+
ErrorBacktrace: Klaidos Pėdsakai
|
48
|
+
GoBack: ← Atgal
|
49
|
+
NoScheduledFound: Planuojamų darbų nerasta
|
50
|
+
When: Kada
|
51
|
+
ScheduledJobs: Planuojami Darbai
|
52
|
+
idle: neveiksnus
|
53
|
+
active: aktyvus
|
54
|
+
Version: Versija
|
55
|
+
Connections: Ryšiai
|
56
|
+
MemoryUsage: Atminties Vartojimas
|
57
|
+
PeakMemoryUsage: Atminties Vartojimo Pikas
|
58
|
+
Uptime: Gyvavimo laikas (dienomis)
|
59
|
+
OneWeek: 1 savaitė
|
60
|
+
OneMonth: 1 mėnuo
|
61
|
+
ThreeMonths: 3 mėnesiai
|
62
|
+
SixMonths: 6 mėnesiai
|
63
|
+
Failures: Nesėkmingi vykdymai
|
64
|
+
DeadJobs: Negyvi Darbai
|
65
|
+
NoDeadJobsFound: Negyvų darbų nerasta
|
66
|
+
Dead: Negyvi
|
67
|
+
Processes: Procesai
|
68
|
+
Thread: Gija
|
69
|
+
Threads: Gijos
|
70
|
+
Jobs: Darbai
|
71
|
+
Paused: Pristabdytas
|
72
|
+
Stop: Sustabdyti
|
73
|
+
Quiet: Nutildyti
|
74
|
+
StopAll: Sustabdyti Visus
|
75
|
+
QuietAll: Nutildyti Visus
|
76
|
+
PollingInterval: Užklausimų intervalas
|
77
|
+
Plugins: Įskiepiai
|
78
|
+
NotYetEnqueued: Dar neįtraukti į eilę
|
79
|
+
CreatedAt: Sukurta
|
80
|
+
BackToApp: Atgal į Aplikaciją
|
81
|
+
Latency: Vėlavimas
|
82
|
+
Pause: Pristabdyti
|
83
|
+
Unpause: Pratęsti
|
data/web/locales/pl.yml
CHANGED
@@ -10,7 +10,7 @@ pl:
|
|
10
10
|
Processed: Ukończone
|
11
11
|
Failed: Nieudane
|
12
12
|
Scheduled: Zaplanowane
|
13
|
-
Retries:
|
13
|
+
Retries: Do ponowienia
|
14
14
|
Enqueued: Zakolejkowane
|
15
15
|
Worker: Worker
|
16
16
|
LivePoll: Wczytuj na żywo
|
@@ -29,15 +29,15 @@ pl:
|
|
29
29
|
Queues: Kolejki
|
30
30
|
Size: Rozmiar
|
31
31
|
Actions: Akcje
|
32
|
-
NextRetry:
|
33
|
-
RetryCount:
|
32
|
+
NextRetry: Następne ponowienie
|
33
|
+
RetryCount: Ilość ponowień
|
34
34
|
RetryNow: Ponów teraz
|
35
35
|
LastRetry: Ostatnie ponowienie
|
36
36
|
OriginallyFailed: Ostatnio nieudane
|
37
37
|
AreYouSure: Na pewno?
|
38
38
|
DeleteAll: Usuń wszystko
|
39
39
|
RetryAll: Powtórz wszystko
|
40
|
-
NoRetriesFound: Brak
|
40
|
+
NoRetriesFound: Brak zadań do ponowienia
|
41
41
|
Error: Błąd
|
42
42
|
ErrorClass: Klasa błędu
|
43
43
|
ErrorMessage: Wiadomosć błędu
|
data/web/locales/ru.yml
CHANGED
@@ -38,6 +38,7 @@ ru:
|
|
38
38
|
AreYouSure: Вы уверены?
|
39
39
|
DeleteAll: Удалить все
|
40
40
|
RetryAll: Повторить все
|
41
|
+
KillAll: Убить всё
|
41
42
|
NoRetriesFound: Нет попыток
|
42
43
|
Error: Ошибка
|
43
44
|
ErrorClass: Класс ошибки
|
@@ -76,3 +77,6 @@ ru:
|
|
76
77
|
NotYetEnqueued: Пока не в очереди
|
77
78
|
CreatedAt: Создан
|
78
79
|
BackToApp: Назад
|
80
|
+
Latency: Задержка
|
81
|
+
Pause: Пауза
|
82
|
+
Unpause: Возобновить
|
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/_job_info.erb
CHANGED
data/web/views/busy.erb
CHANGED
@@ -1,8 +1,39 @@
|
|
1
1
|
<div class="row header">
|
2
|
-
<div class="col-sm-
|
2
|
+
<div class="col-sm-4 pull-left flip">
|
3
|
+
<h3><%= t('Status') %></h3>
|
4
|
+
</div>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="stats-wrapper">
|
8
|
+
<div class="stats-container">
|
9
|
+
<div class="stat">
|
10
|
+
<h3><%= s = processes.size; number_with_delimiter(s) %></h3>
|
11
|
+
<p><%= t('Processes') %></p>
|
12
|
+
</div>
|
13
|
+
<div class="stat">
|
14
|
+
<h3><%= x = processes.total_concurrency; number_with_delimiter(x) %></h3>
|
15
|
+
<p><%= t('Threads') %></p>
|
16
|
+
</div>
|
17
|
+
<div class="stat">
|
18
|
+
<h3><%= ws = workers.size; number_with_delimiter(ws) %></h3>
|
19
|
+
<p><%= t('Busy') %></p>
|
20
|
+
</div>
|
21
|
+
<div class="stat">
|
22
|
+
<h3><%= x == 0 ? 0 : ((ws / x.to_f) * 100).round(0) %>%</h3>
|
23
|
+
<p><%= t('Utilization') %></p>
|
24
|
+
</div>
|
25
|
+
<div class="stat">
|
26
|
+
<h3><%= format_memory(processes.total_rss) %></h3>
|
27
|
+
<p><%= t('RSS') %></p>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="row header">
|
33
|
+
<div class="col-sm-4 pull-left flip">
|
3
34
|
<h3><%= t('Processes') %></h3>
|
4
35
|
</div>
|
5
|
-
<div class="col-sm-
|
36
|
+
<div class="col-sm-3 pull-right flip">
|
6
37
|
<form method="POST" class="warning-messages">
|
7
38
|
<%= csrf_tag %>
|
8
39
|
<div class="btn-group pull-right flip">
|
@@ -12,14 +43,14 @@
|
|
12
43
|
</form>
|
13
44
|
</div>
|
14
45
|
</div>
|
15
|
-
|
16
46
|
<div class="table_container">
|
17
|
-
<table class="processes table table-hover table-bordered table-striped
|
47
|
+
<table class="processes table table-hover table-bordered table-striped">
|
18
48
|
<thead>
|
19
49
|
<th><%= t('Name') %></th>
|
20
50
|
<th><%= t('Started') %></th>
|
21
|
-
<th><%= t('
|
22
|
-
<th><%= t('
|
51
|
+
<th class="col-sm-1"><%= t('RSS') %><a href="https://github.com/mperham/sidekiq/wiki/Memory#rss"><span class="info-circle" title="Click to learn more about RSS">?</span></a></th>
|
52
|
+
<th class="col-sm-1"><%= t('Threads') %></th>
|
53
|
+
<th class="col-sm-1"><%= t('Busy') %></th>
|
23
54
|
<th> </th>
|
24
55
|
</thead>
|
25
56
|
<% lead = processes.leader %>
|
@@ -39,22 +70,22 @@
|
|
39
70
|
<% end %>
|
40
71
|
<br>
|
41
72
|
<b><%= "#{t('Queues')}: " %></b>
|
42
|
-
<%= process
|
73
|
+
<%= process.queues.join(", ") %>
|
43
74
|
</td>
|
44
75
|
<td><%= relative_time(Time.at(process['started_at'])) %></td>
|
76
|
+
<td><%= format_memory(process['rss'].to_i) %></td>
|
45
77
|
<td><%= process['concurrency'] %></td>
|
46
78
|
<td><%= process['busy'] %></td>
|
47
79
|
<td>
|
48
|
-
<
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
</div>
|
80
|
+
<form method="POST">
|
81
|
+
<%= csrf_tag %>
|
82
|
+
<input type="hidden" name="identity" value="<%= process['identity'] %>"/>
|
83
|
+
|
84
|
+
<div class="btn-group pull-right flip">
|
85
|
+
<% unless process.stopping? %><button class="btn btn-xs btn-warn" type="submit" name="quiet" value="1"><%= t('Quiet') %></button><% end %>
|
86
|
+
<button class="btn btn-xs btn-danger" type="submit" name="stop" value="1"><%= t('Stop') %></button>
|
87
|
+
</div>
|
88
|
+
</form>
|
58
89
|
</td>
|
59
90
|
</tr>
|
60
91
|
<% end %>
|
@@ -68,7 +99,7 @@
|
|
68
99
|
</div>
|
69
100
|
|
70
101
|
<div class="table_container">
|
71
|
-
<table class="workers table table-hover table-bordered table-striped
|
102
|
+
<table class="workers table table-hover table-bordered table-striped">
|
72
103
|
<thead>
|
73
104
|
<th><%= t('Process') %></th>
|
74
105
|
<th><%= t('TID') %></th>
|
@@ -79,7 +110,7 @@
|
|
79
110
|
<th><%= t('Started') %></th>
|
80
111
|
</thead>
|
81
112
|
<% workers.each do |process, thread, msg| %>
|
82
|
-
<% job = Sidekiq::
|
113
|
+
<% job = Sidekiq::JobRecord.new(msg['payload']) %>
|
83
114
|
<tr>
|
84
115
|
<td><%= process %></td>
|
85
116
|
<td><%= thread %></td>
|
data/web/views/dashboard.erb
CHANGED
@@ -20,22 +20,30 @@
|
|
20
20
|
<div id="realtime-legend"></div>
|
21
21
|
</div>
|
22
22
|
|
23
|
-
<div class="row
|
24
|
-
|
25
|
-
|
23
|
+
<div class="row header">
|
24
|
+
<div class="col-sm-4 pull-left flip">
|
25
|
+
<h3><%= t('History') %></h3>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="row chart">
|
29
|
+
<div>
|
26
30
|
<a href="<%= root_path %>?days=7" class="history-graph <%= "active" if params[:days] == "7" %>"><%= t('OneWeek') %></a>
|
27
31
|
<a href="<%= root_path %>" class="history-graph <%= "active" if params[:days].nil? || params[:days] == "30" %>"><%= t('OneMonth') %></a>
|
28
32
|
<a href="<%= root_path %>?days=90" class="history-graph <%= "active" if params[:days] == "90" %>"><%= t('ThreeMonths') %></a>
|
29
33
|
<a href="<%= root_path %>?days=180" class="history-graph <%= "active" if params[:days] == "180" %>"><%= t('SixMonths') %></a>
|
30
|
-
</
|
34
|
+
</div>
|
31
35
|
|
32
36
|
<div id="history" data-processed-label="<%= t('Processed') %>" data-failed-label="<%= t('Failed') %>" data-processed="<%= h Sidekiq.dump_json(@processed_history) %>" data-failed="<%= h Sidekiq.dump_json(@failed_history) %>" data-update-url="<%= root_path %>stats"></div>
|
33
37
|
<div id="history-legend"></div>
|
34
38
|
</div>
|
35
39
|
|
36
40
|
<br/>
|
37
|
-
<
|
38
|
-
<div class="
|
41
|
+
<div class="row header">
|
42
|
+
<div class="col-sm-4 pull-left flip">
|
43
|
+
<h3>Redis</h3>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<div class="stats-wrapper">
|
39
47
|
<div class="stats-container">
|
40
48
|
<% if @redis_info.fetch("redis_version", nil) %>
|
41
49
|
<div class="stat">
|
data/web/views/dead.erb
CHANGED
data/web/views/layout.erb
CHANGED
@@ -11,11 +11,12 @@
|
|
11
11
|
<% end %>
|
12
12
|
|
13
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" 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
15
|
<% if rtl? %>
|
16
16
|
<link href="<%= root_path %>stylesheets/application-rtl.css" media="screen" rel="stylesheet" type="text/css" />
|
17
17
|
<% end %>
|
18
18
|
|
19
|
+
<link rel="apple-touch-icon" href="<%= root_path %>images/apple-touch-icon.png">
|
19
20
|
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
|
20
21
|
<script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
|
21
22
|
<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 table-
|
17
|
+
<table class="table table-striped table-bordered table-hover">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
20
|
<th class="table-checkbox checkbox-column">
|
@@ -44,7 +44,7 @@
|
|
44
44
|
</td>
|
45
45
|
<td>
|
46
46
|
<%= entry.display_class %>
|
47
|
-
<%= display_tags(entry, "
|
47
|
+
<%= display_tags(entry, "dead") %>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
50
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
@@ -58,18 +58,18 @@
|
|
58
58
|
<% end %>
|
59
59
|
</table>
|
60
60
|
</div>
|
61
|
-
<input class="btn btn-primary
|
62
|
-
<input class="btn btn-danger
|
61
|
+
<input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
62
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
63
63
|
</form>
|
64
64
|
|
65
65
|
<% unfiltered? do %>
|
66
66
|
<form action="<%= root_path %>morgue/all/delete" method="post">
|
67
67
|
<%= csrf_tag %>
|
68
|
-
<input class="btn btn-danger
|
68
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
69
69
|
</form>
|
70
70
|
<form action="<%= root_path %>morgue/all/retry" method="post">
|
71
71
|
<%= csrf_tag %>
|
72
|
-
<input class="btn btn-danger
|
72
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
73
73
|
</form>
|
74
74
|
<% end %>
|
75
75
|
|
data/web/views/queue.erb
CHANGED
data/web/views/queues.erb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<h3><%= t('Queues') %></h3>
|
2
2
|
|
3
3
|
<div class="table_container">
|
4
|
-
<table class="queues table table-hover table-bordered table-striped
|
4
|
+
<table class="queues table table-hover table-bordered table-striped">
|
5
5
|
<thead>
|
6
6
|
<th><%= t('Queue') %></th>
|
7
7
|
<th><%= t('Size') %></th>
|
@@ -21,7 +21,15 @@
|
|
21
21
|
<td class="delete-confirm">
|
22
22
|
<form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
23
23
|
<%= csrf_tag %>
|
24
|
-
<input class="btn btn-danger
|
24
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
|
25
|
+
|
26
|
+
<% if Sidekiq.pro? %>
|
27
|
+
<% if queue.paused? %>
|
28
|
+
<input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>" />
|
29
|
+
<% else %>
|
30
|
+
<input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>" />
|
31
|
+
<% end %>
|
32
|
+
<% end %>
|
25
33
|
</form>
|
26
34
|
</td>
|
27
35
|
</tr>
|