sidekiq 4.1.4 → 4.2.10
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/.github/issue_template.md +6 -1
- data/.travis.yml +9 -9
- data/Changes.md +100 -0
- data/Ent-Changes.md +51 -1
- data/Gemfile +6 -6
- data/Pro-Changes.md +69 -0
- data/README.md +4 -3
- data/Rakefile +5 -2
- data/bin/sidekiqload +11 -24
- data/lib/generators/sidekiq/templates/worker_test.rb.erb +1 -1
- data/lib/sidekiq/api.rb +21 -13
- data/lib/sidekiq/cli.rb +19 -5
- data/lib/sidekiq/core_ext.rb +13 -0
- data/lib/sidekiq/launcher.rb +36 -23
- data/lib/sidekiq/manager.rb +3 -2
- data/lib/sidekiq/middleware/server/logging.rb +8 -17
- data/lib/sidekiq/middleware/server/retry_jobs.rb +1 -1
- data/lib/sidekiq/processor.rb +31 -16
- data/lib/sidekiq/rails.rb +84 -0
- data/lib/sidekiq/redis_connection.rb +8 -1
- data/lib/sidekiq/scheduled.rb +1 -0
- data/lib/sidekiq/testing.rb +10 -2
- data/lib/sidekiq/util.rb +2 -1
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web/action.rb +93 -0
- data/lib/sidekiq/web/application.rb +336 -0
- data/lib/sidekiq/{web_helpers.rb → web/helpers.rb} +39 -16
- data/lib/sidekiq/web/router.rb +100 -0
- data/lib/sidekiq/web.rb +119 -184
- data/lib/sidekiq/worker.rb +3 -3
- data/lib/sidekiq.rb +7 -7
- data/sidekiq.gemspec +11 -5
- data/web/assets/images/{status-sd8051fd480.png → status.png} +0 -0
- data/web/assets/javascripts/application.js +24 -20
- data/web/assets/javascripts/dashboard.js +1 -1
- data/web/assets/stylesheets/application.css +26 -1
- data/web/assets/stylesheets/bootstrap.css +4 -8
- data/web/locales/de.yml +1 -1
- data/web/locales/fa.yml +79 -0
- data/web/views/_footer.erb +1 -1
- data/web/views/_job_info.erb +1 -1
- data/web/views/busy.erb +2 -2
- data/web/views/dashboard.erb +4 -4
- data/web/views/dead.erb +1 -1
- data/web/views/layout.erb +3 -4
- data/web/views/morgue.erb +14 -10
- data/web/views/queue.erb +6 -6
- data/web/views/queues.erb +3 -3
- data/web/views/retries.erb +12 -10
- data/web/views/retry.erb +2 -2
- data/web/views/scheduled.erb +2 -2
- data/web/views/scheduled_job_info.erb +1 -1
- metadata +86 -129
- data/test/config.yml +0 -9
- data/test/env_based_config.yml +0 -11
- data/test/fake_env.rb +0 -1
- data/test/fixtures/en.yml +0 -2
- data/test/helper.rb +0 -75
- data/test/test_actors.rb +0 -138
- data/test/test_api.rb +0 -528
- data/test/test_cli.rb +0 -406
- data/test/test_client.rb +0 -266
- data/test/test_exception_handler.rb +0 -56
- data/test/test_extensions.rb +0 -127
- data/test/test_fetch.rb +0 -50
- data/test/test_launcher.rb +0 -85
- data/test/test_logging.rb +0 -35
- data/test/test_manager.rb +0 -50
- data/test/test_middleware.rb +0 -158
- data/test/test_processor.rb +0 -201
- data/test/test_rails.rb +0 -22
- data/test/test_redis_connection.rb +0 -132
- data/test/test_retry.rb +0 -326
- data/test/test_retry_exhausted.rb +0 -149
- data/test/test_scheduled.rb +0 -115
- data/test/test_scheduling.rb +0 -50
- data/test/test_sidekiq.rb +0 -107
- data/test/test_testing.rb +0 -143
- data/test/test_testing_fake.rb +0 -357
- data/test/test_testing_inline.rb +0 -94
- data/test/test_util.rb +0 -13
- data/test/test_web.rb +0 -614
- data/test/test_web_helpers.rb +0 -54
- data/web/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
- data/web/assets/images/bootstrap/glyphicons-halflings.png +0 -0
- data/web/assets/images/status/active.png +0 -0
- data/web/assets/images/status/idle.png +0 -0
- data/web/assets/javascripts/locales/README.md +0 -27
- data/web/assets/javascripts/locales/jquery.timeago.ar.js +0 -96
- data/web/assets/javascripts/locales/jquery.timeago.bg.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.bs.js +0 -49
- data/web/assets/javascripts/locales/jquery.timeago.ca.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.cs.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.cy.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.da.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.de.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.el.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.en-short.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.en.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.es.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.et.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.fa.js +0 -22
- data/web/assets/javascripts/locales/jquery.timeago.fi.js +0 -28
- data/web/assets/javascripts/locales/jquery.timeago.fr-short.js +0 -16
- data/web/assets/javascripts/locales/jquery.timeago.fr.js +0 -17
- data/web/assets/javascripts/locales/jquery.timeago.he.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.hr.js +0 -49
- data/web/assets/javascripts/locales/jquery.timeago.hu.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.hy.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.id.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.it.js +0 -16
- data/web/assets/javascripts/locales/jquery.timeago.ja.js +0 -19
- data/web/assets/javascripts/locales/jquery.timeago.ko.js +0 -17
- data/web/assets/javascripts/locales/jquery.timeago.lt.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.mk.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.nb.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.nl.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.pl.js +0 -31
- data/web/assets/javascripts/locales/jquery.timeago.pt-br.js +0 -16
- data/web/assets/javascripts/locales/jquery.timeago.pt.js +0 -16
- data/web/assets/javascripts/locales/jquery.timeago.ro.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.rs.js +0 -49
- data/web/assets/javascripts/locales/jquery.timeago.ru.js +0 -34
- data/web/assets/javascripts/locales/jquery.timeago.sk.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.sl.js +0 -44
- data/web/assets/javascripts/locales/jquery.timeago.sv.js +0 -18
- data/web/assets/javascripts/locales/jquery.timeago.th.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.tr.js +0 -16
- data/web/assets/javascripts/locales/jquery.timeago.uk.js +0 -34
- data/web/assets/javascripts/locales/jquery.timeago.uz.js +0 -19
- data/web/assets/javascripts/locales/jquery.timeago.zh-cn.js +0 -20
- data/web/assets/javascripts/locales/jquery.timeago.zh-tw.js +0 -20
- data/web/views/_poll_js.erb +0 -5
data/web/locales/fa.yml
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
fa: # <---- change this to your locale code
|
3
|
+
Dashboard: داشبورد
|
4
|
+
Status: اعلان
|
5
|
+
Time: رمان
|
6
|
+
Namespace: فضای نام
|
7
|
+
Realtime: زنده
|
8
|
+
History: تاریخچه
|
9
|
+
Busy: مشغول
|
10
|
+
Processed: پردازش شده
|
11
|
+
Failed: ناموفق
|
12
|
+
Scheduled: زمان بندی
|
13
|
+
Retries: تکرار
|
14
|
+
Enqueued: صف بندی نشدند
|
15
|
+
Worker: کارگزار
|
16
|
+
LivePoll: Live Poll
|
17
|
+
StopPolling: Stop Polling
|
18
|
+
Queue: صف
|
19
|
+
Class: کلاس
|
20
|
+
Job: کار
|
21
|
+
Arguments: آرگومنت
|
22
|
+
Extras: اضافی
|
23
|
+
Started: شروع شده
|
24
|
+
ShowAll: نمایش همه
|
25
|
+
CurrentMessagesInQueue: کار فعلی در <span class='title'>%{queue}</span>
|
26
|
+
Delete: حذف
|
27
|
+
AddToQueue: افزودن به صف
|
28
|
+
AreYouSureDeleteJob: آیا شما مطمعن هستید از حذف این کار ؟
|
29
|
+
AreYouSureDeleteQueue: ایا شما مطمعنید از حذف %{queue} ?
|
30
|
+
Queues: صف ها
|
31
|
+
Size: سایز
|
32
|
+
Actions: اعمال
|
33
|
+
NextRetry: بار دیگر تلاش کنید
|
34
|
+
RetryCount: تعداد تلاش ها
|
35
|
+
RetryNow: تلاش مجدد
|
36
|
+
Kill: کشتن
|
37
|
+
LastRetry: آخرین تلاش
|
38
|
+
OriginallyFailed: Originally Failed
|
39
|
+
AreYouSure: آیا مطمعن هستید?
|
40
|
+
DeleteAll: حذف همه
|
41
|
+
RetryAll: تلاش مجدد برای همه
|
42
|
+
NoRetriesFound: هیچ تلاش پیدا نشد
|
43
|
+
Error: خطا
|
44
|
+
ErrorClass: خطا کلاس
|
45
|
+
ErrorMessage: پیغام خطا
|
46
|
+
ErrorBacktrace: خطای معکوس
|
47
|
+
GoBack: ← برگشت
|
48
|
+
NoScheduledFound: هیچ کار برنامه ریزی شده ای یافت نشد
|
49
|
+
When: وقتی که
|
50
|
+
ScheduledJobs: کار برنامه ریزی شده
|
51
|
+
idle: بیهودی
|
52
|
+
active: فعال
|
53
|
+
Version: ورژن
|
54
|
+
Connections: ارتباطات
|
55
|
+
MemoryUsage: حافظه استفاده شده
|
56
|
+
PeakMemoryUsage: اوج حافظه استفاده شده
|
57
|
+
Uptime: آپ تایم (روز)
|
58
|
+
OneWeek: ۱ هفته
|
59
|
+
OneMonth: ۱ ماه
|
60
|
+
ThreeMonths: ۳ ماه
|
61
|
+
SixMonths: ۶ ماه
|
62
|
+
Failures: شکست ها
|
63
|
+
DeadJobs: کار مرده
|
64
|
+
NoDeadJobsFound: کار مرده ای یافت نشد
|
65
|
+
Dead: مرده
|
66
|
+
Processes: پردازش ها
|
67
|
+
Thread: رشته
|
68
|
+
Threads: رشته ها
|
69
|
+
Jobs: کار ها
|
70
|
+
Paused: مکث
|
71
|
+
Stop: توقف
|
72
|
+
Quiet: خروج
|
73
|
+
StopAll: توقف همه
|
74
|
+
QuietAll: خروج همه
|
75
|
+
PollingInterval: Polling interval
|
76
|
+
Plugins: پلاگین ها
|
77
|
+
NotYetEnqueued: بدون صف بندی
|
78
|
+
CreatedAt: ساخته شده در
|
79
|
+
BackToApp: برگشت به برنامه
|
data/web/views/_footer.erb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="container text-center">
|
4
4
|
<ul class="nav">
|
5
5
|
<li>
|
6
|
-
<p class="navbar-text
|
6
|
+
<p class="navbar-text product-version"><%= product_version %></p>
|
7
7
|
</li>
|
8
8
|
<li>
|
9
9
|
<p class="navbar-text redis-url" title="<%= redis_connection_and_namespace %>"><%= redis_connection_and_namespace %></p>
|
data/web/views/_job_info.erb
CHANGED
data/web/views/busy.erb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<h3><%= t('Processes') %></h3>
|
4
4
|
</div>
|
5
5
|
<div class="col-sm-4 pull-right">
|
6
|
-
<form method="POST"
|
6
|
+
<form method="POST" class="warning-messages">
|
7
7
|
<%= csrf_tag %>
|
8
8
|
<div class="btn-group pull-right">
|
9
9
|
<button class="btn btn-warn" type="submit" name="quiet" value="1" data-confirm="<%= t('AreYouSure') %>"><%= t('QuietAll') %></button>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</thead>
|
25
25
|
<% processes.each do |process| %>
|
26
26
|
<tr>
|
27
|
-
<td
|
27
|
+
<td class="box">
|
28
28
|
<%= "#{process['hostname']}:#{process['pid']}" %>
|
29
29
|
<span class="label label-success"><%= process.tag %></span>
|
30
30
|
<% process.labels.each do |label| %>
|
data/web/views/dashboard.erb
CHANGED
@@ -9,9 +9,9 @@
|
|
9
9
|
</h3>
|
10
10
|
<div class="interval-slider">
|
11
11
|
<span class="interval-slider-label"><%= t('PollingInterval') %>:</span>
|
12
|
-
<span class="current-interval">
|
12
|
+
<span class="current-interval">5 sec</span>
|
13
13
|
<br/>
|
14
|
-
<input type="range" min="2000" max="20000" step="1000" value="
|
14
|
+
<input type="range" min="2000" max="20000" step="1000" value="5000"/>
|
15
15
|
</div>
|
16
16
|
</div>
|
17
17
|
|
@@ -58,14 +58,14 @@
|
|
58
58
|
</div>
|
59
59
|
<% end %>
|
60
60
|
|
61
|
-
<%
|
61
|
+
<% if @redis_info.fetch("used_memory_human", nil) %>
|
62
62
|
<div class="stat">
|
63
63
|
<h3 class="used_memory_human"><%= @redis_info.fetch("used_memory_human") %></h3>
|
64
64
|
<p><%= t('MemoryUsage') %></p>
|
65
65
|
</div>
|
66
66
|
<% end %>
|
67
67
|
|
68
|
-
<%
|
68
|
+
<% if @redis_info.fetch("used_memory_peak_human", nil) %>
|
69
69
|
<div class="stat">
|
70
70
|
<h3 class="used_memory_peak_human"><%= @redis_info.fetch("used_memory_peak_human") %></h3>
|
71
71
|
<p><%= t('PeakMemoryUsage') %></p>
|
data/web/views/dead.erb
CHANGED
data/web/views/layout.erb
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title><%= environment_title_prefix %><%= Sidekiq::NAME %></title>
|
5
|
+
<meta charset="utf8" />
|
5
6
|
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
6
7
|
<link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
|
7
8
|
<link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
|
8
9
|
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
|
9
10
|
<script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
|
10
|
-
<script type="text/javascript" src="<%= root_path %>javascripts/locales/jquery.timeago.<%= locale %>.js"></script>
|
11
11
|
<meta name="google" content="notranslate" />
|
12
12
|
<%= display_custom_head %>
|
13
13
|
</head>
|
14
|
-
<body class="admin">
|
14
|
+
<body class="admin" data-poll-path="<%= poll_path %>" data-locale="<%= locale %>">
|
15
15
|
<%= erb :_nav %>
|
16
16
|
<div id="page">
|
17
17
|
<div class="container">
|
@@ -26,7 +26,6 @@
|
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
</div>
|
29
|
-
<%=
|
30
|
-
<%= erb :_poll_js %>
|
29
|
+
<%= erb :_footer %>
|
31
30
|
</body>
|
32
31
|
</html>
|
data/web/views/morgue.erb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
</div>
|
5
5
|
<% if @dead.size > 0 && @total_size > @count %>
|
6
6
|
<div class="col-sm-4">
|
7
|
-
<%= erb :_paging, :
|
7
|
+
<%= erb :_paging, locals: { url: "#{root_path}morgue" } %>
|
8
8
|
</div>
|
9
9
|
<% end %>
|
10
10
|
<%= filtering('dead') %>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<table class="table table-striped table-bordered table-white">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
|
-
<th
|
20
|
+
<th class="table-checkbox checkbox-column">
|
21
21
|
<label>
|
22
22
|
<input type="checkbox" class="check_all" />
|
23
23
|
</label>
|
@@ -47,7 +47,9 @@
|
|
47
47
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
|
+
<% if entry.error? %>
|
50
51
|
<div><%= h truncate("#{entry['error_class']}: #{entry['error_message']}", 200) %></div>
|
52
|
+
<% end %>
|
51
53
|
</td>
|
52
54
|
</tr>
|
53
55
|
<% end %>
|
@@ -57,14 +59,16 @@
|
|
57
59
|
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
|
58
60
|
</form>
|
59
61
|
|
60
|
-
|
61
|
-
<%=
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
<%=
|
66
|
-
|
67
|
-
|
62
|
+
<% unfiltered? do %>
|
63
|
+
<form action="<%= root_path %>morgue/all/delete" method="post">
|
64
|
+
<%= csrf_tag %>
|
65
|
+
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
66
|
+
</form>
|
67
|
+
<form action="<%= root_path %>morgue/all/retry" method="post">
|
68
|
+
<%= csrf_tag %>
|
69
|
+
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
70
|
+
</form>
|
71
|
+
<% end %>
|
68
72
|
|
69
73
|
<% else %>
|
70
74
|
<div class="alert alert-success"><%= t('NoDeadJobsFound') %></div>
|
data/web/views/queue.erb
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
</h3>
|
9
9
|
</div>
|
10
10
|
<div class="col-sm-4 pull-right">
|
11
|
-
<%= erb :_paging, :
|
11
|
+
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
12
12
|
</div>
|
13
13
|
</header>
|
14
14
|
<div class="table_container">
|
@@ -24,15 +24,15 @@
|
|
24
24
|
<td>
|
25
25
|
<% a = msg.display_args.inspect %>
|
26
26
|
<% if a.size > 100 %>
|
27
|
-
<%= h(msg.display_args.inspect[0..100]) + "... "
|
28
|
-
<button data-toggle="collapse" data-target="
|
29
|
-
<div class="toggle
|
27
|
+
<span class="worker_<%= index %>"><%= h(msg.display_args.inspect[0..100]) + "... " %></span>
|
28
|
+
<button data-toggle="collapse" data-target=".worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
|
29
|
+
<div class="toggle worker_<%= index %>"><%= h(msg.display_args) %></div>
|
30
30
|
<% else %>
|
31
31
|
<%= h(msg.display_args) %>
|
32
32
|
<% end %>
|
33
33
|
</td>
|
34
34
|
<td>
|
35
|
-
<form action="<%= root_path %>queues/<%= @name %>/delete" method="post">
|
35
|
+
<form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
|
36
36
|
<%= csrf_tag %>
|
37
37
|
<input name="key_val" value="<%= h Sidekiq.dump_json(msg.item) %>" type="hidden" />
|
38
38
|
<input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
|
@@ -42,4 +42,4 @@
|
|
42
42
|
<% end %>
|
43
43
|
</table>
|
44
44
|
</div>
|
45
|
-
<%= erb :_paging, :
|
45
|
+
<%= erb :_paging, locals: { url: "#{root_path}queues/#{@name}" } %>
|
data/web/views/queues.erb
CHANGED
@@ -10,14 +10,14 @@
|
|
10
10
|
<% @queues.each do |queue| %>
|
11
11
|
<tr>
|
12
12
|
<td>
|
13
|
-
<a href="<%= root_path %>queues/<%= queue.name %>"><%= queue.name %></a>
|
13
|
+
<a href="<%= root_path %>queues/<%= CGI.escape(queue.name) %>"><%= h queue.name %></a>
|
14
14
|
<% if queue.paused? %>
|
15
15
|
<span class="label label-danger"><%= t('Paused') %></span>
|
16
16
|
<% end %>
|
17
17
|
</td>
|
18
18
|
<td><%= number_with_delimiter(queue.size) %> </td>
|
19
|
-
<td
|
20
|
-
<form action="<%=root_path %>queues/<%= queue.name %>" method="post">
|
19
|
+
<td class="delete-confirm">
|
20
|
+
<form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
21
21
|
<%= csrf_tag %>
|
22
22
|
<input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
|
23
23
|
</form>
|
data/web/views/retries.erb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
</div>
|
5
5
|
<% if @retries.size > 0 && @total_size > @count %>
|
6
6
|
<div class="col-sm-4">
|
7
|
-
<%= erb :_paging, :
|
7
|
+
<%= erb :_paging, locals: { url: "#{root_path}retries" } %>
|
8
8
|
</div>
|
9
9
|
<% end %>
|
10
10
|
<%= filtering('retries') %>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<table class="table table-striped table-bordered table-white">
|
18
18
|
<thead>
|
19
19
|
<tr>
|
20
|
-
<th
|
20
|
+
<th class="table-checkbox checkbox-column">
|
21
21
|
<label>
|
22
22
|
<input type="checkbox" class="check_all" />
|
23
23
|
</label>
|
@@ -60,14 +60,16 @@
|
|
60
60
|
<input class="btn btn-danger btn-xs pull-left" type="submit" name="kill" value="<%= t('Kill') %>" />
|
61
61
|
</form>
|
62
62
|
|
63
|
-
|
64
|
-
<%=
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
<%=
|
69
|
-
|
70
|
-
|
63
|
+
<% unfiltered? do %>
|
64
|
+
<form action="<%= root_path %>retries/all/delete" method="post">
|
65
|
+
<%= csrf_tag %>
|
66
|
+
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
67
|
+
</form>
|
68
|
+
<form action="<%= root_path %>retries/all/retry" method="post">
|
69
|
+
<%= csrf_tag %>
|
70
|
+
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
71
|
+
</form>
|
72
|
+
<% end %>
|
71
73
|
|
72
74
|
<% else %>
|
73
75
|
<div class="alert alert-success"><%= t('NoRetriesFound') %></div>
|
data/web/views/retry.erb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= erb :_job_info, :
|
1
|
+
<%= erb :_job_info, locals: { job: @retry, type: :retry } %>
|
2
2
|
|
3
3
|
<h3><%= t('Error') %></h3>
|
4
4
|
<div class="table_container">
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<tr>
|
8
8
|
<th><%= t('ErrorClass') %></th>
|
9
9
|
<td>
|
10
|
-
<code><%= h @retry
|
10
|
+
<code><%= h @retry['error_class'] %></code>
|
11
11
|
</td>
|
12
12
|
</tr>
|
13
13
|
<tr>
|
data/web/views/scheduled.erb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
</div>
|
5
5
|
<% if @scheduled.size > 0 && @total_size > @count %>
|
6
6
|
<div class="col-sm-4">
|
7
|
-
<%= erb :_paging, :
|
7
|
+
<%= erb :_paging, locals: { url: "#{root_path}scheduled" } %>
|
8
8
|
</div>
|
9
9
|
<% end %>
|
10
10
|
<%= filtering('scheduled') %>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<table class="table table-striped table-bordered table-white">
|
19
19
|
<thead>
|
20
20
|
<tr>
|
21
|
-
<th
|
21
|
+
<th class="checkbox-column">
|
22
22
|
<input type="checkbox" class="check_all" />
|
23
23
|
</th>
|
24
24
|
<th><%= t('When') %></th>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= erb :_job_info, :
|
1
|
+
<%= erb :_job_info, locals: { job: @job, type: :scheduled } %>
|
2
2
|
|
3
3
|
<form class="form-horizontal" action="<%= root_path %>scheduled/<%= job_params(@job, @job.score) %>" method="post">
|
4
4
|
<%= csrf_tag %>
|