sidekiq 6.0.7 → 6.4.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.

Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +189 -2
  3. data/LICENSE +3 -3
  4. data/README.md +11 -10
  5. data/bin/sidekiq +8 -3
  6. data/bin/sidekiqload +57 -65
  7. data/bin/sidekiqmon +1 -1
  8. data/lib/generators/sidekiq/job_generator.rb +57 -0
  9. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  10. data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
  11. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  12. data/lib/sidekiq/api.rb +164 -116
  13. data/lib/sidekiq/cli.rb +49 -15
  14. data/lib/sidekiq/client.rb +51 -70
  15. data/lib/sidekiq/delay.rb +2 -0
  16. data/lib/sidekiq/extensions/action_mailer.rb +3 -2
  17. data/lib/sidekiq/extensions/active_record.rb +4 -3
  18. data/lib/sidekiq/extensions/class_methods.rb +5 -4
  19. data/lib/sidekiq/extensions/generic_proxy.rb +4 -2
  20. data/lib/sidekiq/fetch.rb +32 -23
  21. data/lib/sidekiq/job.rb +13 -0
  22. data/lib/sidekiq/job_logger.rb +16 -28
  23. data/lib/sidekiq/job_retry.rb +32 -33
  24. data/lib/sidekiq/job_util.rb +67 -0
  25. data/lib/sidekiq/launcher.rb +113 -54
  26. data/lib/sidekiq/logger.rb +11 -20
  27. data/lib/sidekiq/manager.rb +16 -18
  28. data/lib/sidekiq/middleware/chain.rb +10 -8
  29. data/lib/sidekiq/middleware/current_attributes.rb +57 -0
  30. data/lib/sidekiq/middleware/i18n.rb +4 -4
  31. data/lib/sidekiq/monitor.rb +1 -1
  32. data/lib/sidekiq/paginator.rb +8 -8
  33. data/lib/sidekiq/processor.rb +31 -31
  34. data/lib/sidekiq/rails.rb +36 -20
  35. data/lib/sidekiq/redis_connection.rb +16 -15
  36. data/lib/sidekiq/scheduled.rb +51 -16
  37. data/lib/sidekiq/sd_notify.rb +1 -1
  38. data/lib/sidekiq/testing/inline.rb +4 -4
  39. data/lib/sidekiq/testing.rb +38 -39
  40. data/lib/sidekiq/util.rb +41 -0
  41. data/lib/sidekiq/version.rb +1 -1
  42. data/lib/sidekiq/web/action.rb +2 -2
  43. data/lib/sidekiq/web/application.rb +21 -12
  44. data/lib/sidekiq/web/csrf_protection.rb +180 -0
  45. data/lib/sidekiq/web/helpers.rb +39 -33
  46. data/lib/sidekiq/web/router.rb +5 -2
  47. data/lib/sidekiq/web.rb +36 -72
  48. data/lib/sidekiq/worker.rb +135 -16
  49. data/lib/sidekiq.rb +33 -17
  50. data/sidekiq.gemspec +11 -4
  51. data/web/assets/images/apple-touch-icon.png +0 -0
  52. data/web/assets/javascripts/application.js +113 -65
  53. data/web/assets/javascripts/dashboard.js +51 -51
  54. data/web/assets/stylesheets/application-dark.css +64 -43
  55. data/web/assets/stylesheets/application-rtl.css +0 -4
  56. data/web/assets/stylesheets/application.css +42 -239
  57. data/web/locales/ar.yml +8 -2
  58. data/web/locales/en.yml +4 -1
  59. data/web/locales/es.yml +18 -2
  60. data/web/locales/fr.yml +8 -1
  61. data/web/locales/ja.yml +3 -0
  62. data/web/locales/lt.yml +1 -1
  63. data/web/locales/pl.yml +4 -4
  64. data/web/locales/ru.yml +4 -0
  65. data/web/views/_footer.erb +1 -1
  66. data/web/views/_job_info.erb +1 -1
  67. data/web/views/_poll_link.erb +2 -5
  68. data/web/views/_summary.erb +7 -7
  69. data/web/views/busy.erb +51 -20
  70. data/web/views/dashboard.erb +22 -14
  71. data/web/views/dead.erb +1 -1
  72. data/web/views/layout.erb +2 -1
  73. data/web/views/morgue.erb +6 -6
  74. data/web/views/queue.erb +11 -11
  75. data/web/views/queues.erb +4 -4
  76. data/web/views/retries.erb +7 -7
  77. data/web/views/retry.erb +1 -1
  78. data/web/views/scheduled.erb +1 -1
  79. metadata +24 -49
  80. data/.circleci/config.yml +0 -60
  81. data/.github/contributing.md +0 -32
  82. data/.github/issue_template.md +0 -11
  83. data/.gitignore +0 -13
  84. data/.standard.yml +0 -20
  85. data/3.0-Upgrade.md +0 -70
  86. data/4.0-Upgrade.md +0 -53
  87. data/5.0-Upgrade.md +0 -56
  88. data/6.0-Upgrade.md +0 -72
  89. data/COMM-LICENSE +0 -97
  90. data/Ent-2.0-Upgrade.md +0 -37
  91. data/Ent-Changes.md +0 -256
  92. data/Gemfile +0 -24
  93. data/Gemfile.lock +0 -208
  94. data/Pro-2.0-Upgrade.md +0 -138
  95. data/Pro-3.0-Upgrade.md +0 -44
  96. data/Pro-4.0-Upgrade.md +0 -35
  97. data/Pro-5.0-Upgrade.md +0 -25
  98. data/Pro-Changes.md +0 -782
  99. data/Rakefile +0 -10
  100. data/code_of_conduct.md +0 -50
  101. data/lib/generators/sidekiq/worker_generator.rb +0 -57
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: ジョブ
data/web/locales/lt.yml CHANGED
@@ -71,7 +71,7 @@ lt:
71
71
  Paused: Pristabdytas
72
72
  Stop: Sustabdyti
73
73
  Quiet: Nutildyti
74
- StopAll: Sustbadyti Visus
74
+ StopAll: Sustabdyti Visus
75
75
  QuietAll: Nutildyti Visus
76
76
  PollingInterval: Užklausimų intervalas
77
77
  Plugins: Įskiepiai
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: Prób
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: Kolejna próba
33
- RetryCount: Liczba prób
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 powtórzeń
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: Возобновить
@@ -9,7 +9,7 @@
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 server-utc-time"><%= server_utc_time %></p>
12
+ <p id="serverUtcTime" class="navbar-text server-utc-time"><%= server_utc_time %></p>
13
13
  </li>
14
14
  <li>
15
15
  <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
@@ -3,7 +3,7 @@
3
3
  </header>
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>
@@ -1,7 +1,4 @@
1
1
  <% if current_path != '' %>
2
- <% if params[:poll] %>
3
- <a id="live-poll" class="btn btn-primary active" href="<%= root_path + current_path %>"><%= t('StopPolling') %></a>
4
- <% else %>
5
- <a id="live-poll" class="btn btn-primary" href="<%= root_path + current_path %>?<%= qparams(poll: true) %>"><%= t('LivePoll') %></a>
6
- <% end %>
2
+ <a class="live-poll-start live-poll btn btn-primary"><%= t('LivePoll') %></a>
3
+ <a class="live-poll-stop live-poll btn btn-primary active"><%= t('StopPolling') %></a>
7
4
  <% end %>
@@ -1,39 +1,39 @@
1
1
  <ul class="list-unstyled summary row">
2
2
  <li class="processed col-sm-1">
3
- <span class="count"><%= number_with_delimiter(stats.processed) %></span>
3
+ <span id="txtProcessed" class="count"><%= number_with_delimiter(stats.processed) %></span>
4
4
  <span class="desc"><%= t('Processed') %></span>
5
5
  </li>
6
6
  <li class="failed col-sm-1">
7
- <span class="count"><%= number_with_delimiter(stats.failed) %></span>
7
+ <span id="txtFailed" class="count"><%= number_with_delimiter(stats.failed) %></span>
8
8
  <span class="desc"><%= t('Failed') %></span>
9
9
  </li>
10
10
  <li class="busy col-sm-1">
11
11
  <a href="<%= root_path %>busy">
12
- <span class="count"><%= number_with_delimiter(workers.size) %></span>
12
+ <span id="txtBusy" class="count"><%= number_with_delimiter(workset.size) %></span>
13
13
  <span class="desc"><%= t('Busy') %></span>
14
14
  </a>
15
15
  </li>
16
16
  <li class="enqueued col-sm-1">
17
17
  <a href="<%= root_path %>queues">
18
- <span class="count"><%= number_with_delimiter(stats.enqueued) %></span>
18
+ <span id="txtEnqueued" class="count"><%= number_with_delimiter(stats.enqueued) %></span>
19
19
  <span class="desc"><%= t('Enqueued') %></span>
20
20
  </a>
21
21
  </li>
22
22
  <li class="retries col-sm-1">
23
23
  <a href="<%= root_path %>retries">
24
- <span class="count"><%= number_with_delimiter(stats.retry_size) %></span>
24
+ <span id="txtRetries" class="count"><%= number_with_delimiter(stats.retry_size) %></span>
25
25
  <span class="desc"><%= t('Retries') %></span>
26
26
  </a>
27
27
  </li>
28
28
  <li class="scheduled col-sm-1">
29
29
  <a href="<%= root_path %>scheduled">
30
- <span class="count"><%= number_with_delimiter(stats.scheduled_size) %></span>
30
+ <span id="txtScheduled" class="count"><%= number_with_delimiter(stats.scheduled_size) %></span>
31
31
  <span class="desc"><%= t('Scheduled') %></span>
32
32
  </a>
33
33
  </li>
34
34
  <li class="dead col-sm-1">
35
35
  <a href="<%= root_path %>morgue">
36
- <span class="count"><%= number_with_delimiter(stats.dead_size) %></span>
36
+ <span id="txtDead" class="count"><%= number_with_delimiter(stats.dead_size) %></span>
37
37
  <span class="desc"><%= t('Dead') %></span>
38
38
  </a>
39
39
  </li>
data/web/views/busy.erb CHANGED
@@ -1,8 +1,39 @@
1
1
  <div class="row header">
2
- <div class="col-sm-8 pull-left flip">
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 = workset.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-4 pull-right flip">
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 table-white">
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('Threads') %></th>
22
- <th><%= t('Busy') %></th>
51
+ <th class="col-sm-1"><%= t('RSS') %><a target="blank" 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>&nbsp;</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['queues'] * ", " %>
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
- <div class="btn-group pull-right flip">
49
- <form method="POST">
50
- <%= csrf_tag %>
51
- <input type="hidden" name="identity" value="<%= process['identity'] %>"/>
52
- <% unless process.stopping? %>
53
- <button class="btn btn-warn" type="submit" name="quiet" value="1"><%= t('Quiet') %></button>
54
- <% end %>
55
- <button class="btn btn-danger" type="submit" name="stop" value="1"><%= t('Stop') %></button>
56
- </form>
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 table-white">
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>
@@ -78,8 +109,8 @@
78
109
  <th><%= t('Arguments') %></th>
79
110
  <th><%= t('Started') %></th>
80
111
  </thead>
81
- <% workers.each do |process, thread, msg| %>
82
- <% job = Sidekiq::Job.new(msg['payload']) %>
112
+ <% workset.each do |process, thread, msg| %>
113
+ <% job = Sidekiq::JobRecord.new(msg['payload']) %>
83
114
  <tr>
84
115
  <td><%= process %></td>
85
116
  <td><%= thread %></td>
@@ -2,16 +2,16 @@
2
2
  <div class= "dashboard clearfix">
3
3
  <h3 >
4
4
  <%= t('Dashboard') %>
5
- <span class="beacon">
5
+ <span id="beacon" class="beacon">
6
6
  <span class="ring"></span>
7
7
  <span class="dot"></span>
8
8
  </span>
9
9
  </h3>
10
10
  <div class="interval-slider ltr">
11
11
  <span class="interval-slider-label"><%= t('PollingInterval') %>:</span>
12
- <span class="current-interval">5 sec</span>
12
+ <span id="sldr-text" class="current-interval">5 sec</span>
13
13
  <br/>
14
- <input type="range" min="2000" max="20000" step="1000" value="5000"/>
14
+ <input id="sldr" type="range" min="2000" max="20000" step="1000" value="5000"/>
15
15
  </div>
16
16
  </div>
17
17
 
@@ -20,54 +20,62 @@
20
20
  <div id="realtime-legend"></div>
21
21
  </div>
22
22
 
23
- <div class="row chart">
24
- <h5>
25
- <span class="history-heading"><%= t('History') %></span>
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
- </h5>
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
- <h5>Redis</h5>
38
- <div class="redis-wrapper">
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">
42
- <h3 class="redis_version"><%= @redis_info.fetch("redis_version") %></h3>
50
+ <h3 id="redis_version"><%= @redis_info.fetch("redis_version") %></h3>
43
51
  <p><%= t('Version') %></p>
44
52
  </div>
45
53
  <% end %>
46
54
 
47
55
  <% if @redis_info.fetch("uptime_in_days", nil) %>
48
56
  <div class="stat">
49
- <h3 class="uptime_in_days"><%= @redis_info.fetch("uptime_in_days") %></h3>
57
+ <h3 id="uptime_in_days"><%= @redis_info.fetch("uptime_in_days") %></h3>
50
58
  <p><%= t('Uptime') %></p>
51
59
  </div>
52
60
  <% end %>
53
61
 
54
62
  <% if @redis_info.fetch("connected_clients", nil) %>
55
63
  <div class="stat">
56
- <h3 class="connected_clients"><%= @redis_info.fetch("connected_clients") %></h3>
64
+ <h3 id="connected_clients"><%= @redis_info.fetch("connected_clients") %></h3>
57
65
  <p><%= t('Connections') %></p>
58
66
  </div>
59
67
  <% end %>
60
68
 
61
69
  <% if @redis_info.fetch("used_memory_human", nil) %>
62
70
  <div class="stat">
63
- <h3 class="used_memory_human"><%= @redis_info.fetch("used_memory_human") %></h3>
71
+ <h3 id="used_memory_human"><%= @redis_info.fetch("used_memory_human") %></h3>
64
72
  <p><%= t('MemoryUsage') %></p>
65
73
  </div>
66
74
  <% end %>
67
75
 
68
76
  <% if @redis_info.fetch("used_memory_peak_human", nil) %>
69
77
  <div class="stat">
70
- <h3 class="used_memory_peak_human"><%= @redis_info.fetch("used_memory_peak_human") %></h3>
78
+ <h3 id="used_memory_peak_human"><%= @redis_info.fetch("used_memory_peak_human") %></h3>
71
79
  <p><%= t('PeakMemoryUsage') %></p>
72
80
  </div>
73
81
  <% end %>
data/web/views/dead.erb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h3><%= t('Error') %></h3>
4
4
  <div class="table_container">
5
- <table class="error table table-bordered table-striped">
5
+ <table class="error table table-bordered table-striped table-hover">
6
6
  <tbody>
7
7
  <tr>
8
8
  <th><%= t('ErrorClass') %></th>
data/web/views/layout.erb CHANGED
@@ -16,12 +16,13 @@
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" />
22
23
  <%= display_custom_head %>
23
24
  </head>
24
- <body class="admin" data-poll-path="<%= poll_path %>" data-locale="<%= locale %>">
25
+ <body class="admin" data-locale="<%= locale %>">
25
26
  <%= erb :_nav %>
26
27
  <div id="page">
27
28
  <div class="container">
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-white">
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, "morgue") %>
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 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') %>" />
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 btn-xs pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
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 btn-xs pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
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
@@ -20,31 +20,31 @@
20
20
  <th><%= t('Arguments') %></th>
21
21
  <th></th>
22
22
  </thead>
23
- <% @messages.each_with_index do |msg, index| %>
24
- <tr>
23
+ <% @jobs.each_with_index do |job, index| %>
24
+ <tr title="<%= job.jid %>">
25
25
  <% if params[:direction] == 'asc' %>
26
26
  <td><%= @count * (@current_page - 1) + index + 1 %></td>
27
27
  <% else %>
28
28
  <td><%= @total_size - (@count * (@current_page - 1) + index) %></td>
29
29
  <% end %>
30
30
  <td>
31
- <%= h(msg.display_class) %>
32
- <%= display_tags(msg, nil) %>
31
+ <%= h(job.display_class) %>
32
+ <%= display_tags(job, nil) %>
33
33
  </td>
34
34
  <td>
35
- <% a = msg.display_args %>
35
+ <% a = job.display_args %>
36
36
  <% if a.inspect.size > 100 %>
37
- <span class="worker_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
38
- <button data-toggle="collapse" data-target=".worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
39
- <div class="toggle worker_<%= index %>"><%= display_args(a) %></div>
37
+ <span id="job_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
38
+ <button data-toggle="job_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
39
+ <div class="toggle" id="job_<%= index %>_full"><%= display_args(a) %></div>
40
40
  <% else %>
41
- <%= display_args(msg.display_args) %>
41
+ <%= display_args(job.display_args) %>
42
42
  <% end %>
43
43
  </td>
44
44
  <td>
45
45
  <form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
46
46
  <%= csrf_tag %>
47
- <input name="key_val" value="<%= h msg.value %>" type="hidden" />
47
+ <input name="key_val" value="<%= h job.value %>" type="hidden" />
48
48
  <input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
49
49
  </form>
50
50
  </td>
@@ -52,4 +52,4 @@
52
52
  <% end %>
53
53
  </table>
54
54
  </div>
55
- <%= erb :_paging, locals: { url: "#{root_path}queues/#{@name}" } %>
55
+ <%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
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 table-white">
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,13 +21,13 @@
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 btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
24
+ <input class="btn btn-danger" type="submit" name="delete" title="This will delete all jobs within the queue, it will reappear if you push more jobs to it in the future." value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
25
25
 
26
26
  <% if Sidekiq.pro? %>
27
27
  <% if queue.paused? %>
28
- <input class="btn btn-danger btn-xs" type="submit" name="unpause" value="<%= t('Unpause') %>" />
28
+ <input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>" />
29
29
  <% else %>
30
- <input class="btn btn-danger btn-xs" type="submit" name="pause" value="<%= t('Pause') %>" />
30
+ <input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>" />
31
31
  <% end %>
32
32
  <% end %>
33
33
  </form>
@@ -14,7 +14,7 @@
14
14
  <form action="<%= root_path %>retries" method="post">
15
15
  <%= csrf_tag %>
16
16
  <div class="table_container">
17
- <table class="table table-striped table-bordered table-white">
17
+ <table class="table table-striped table-bordered table-hover">
18
18
  <thead>
19
19
  <tr>
20
20
  <th class="table-checkbox checkbox-column">
@@ -58,23 +58,23 @@
58
58
  <% end %>
59
59
  </table>
60
60
  </div>
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') %>" />
63
- <input class="btn btn-danger btn-xs pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
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
+ <input class="btn btn-danger pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
64
64
  </form>
65
65
 
66
66
  <% unfiltered? do %>
67
67
  <form action="<%= root_path %>retries/all/delete" method="post">
68
68
  <%= csrf_tag %>
69
- <input class="btn btn-danger btn-xs pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
69
+ <input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
70
70
  </form>
71
71
  <form action="<%= root_path %>retries/all/retry" method="post">
72
72
  <%= csrf_tag %>
73
- <input class="btn btn-danger btn-xs pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
73
+ <input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
74
74
  </form>
75
75
  <form action="<%= root_path %>retries/all/kill" method="post">
76
76
  <%= csrf_tag %>
77
- <input class="btn btn-danger btn-xs pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
77
+ <input class="btn btn-danger pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
78
78
  </form>
79
79
  <% end %>
80
80
 
data/web/views/retry.erb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h3><%= t('Error') %></h3>
4
4
  <div class="table_container">
5
- <table class="error table table-bordered table-striped">
5
+ <table class="error table table-bordered table-striped table-hover">
6
6
  <tbody>
7
7
  <tr>
8
8
  <th><%= t('ErrorClass') %></th>
@@ -15,7 +15,7 @@
15
15
  <form action="<%= root_path %>scheduled" method="post">
16
16
  <%= csrf_tag %>
17
17
  <div class="table_container">
18
- <table class="table table-striped table-bordered table-white">
18
+ <table class="table table-striped table-bordered table-hover">
19
19
  <thead>
20
20
  <tr>
21
21
  <th class="checkbox-column">