sidekiq 8.0.8 → 8.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changes.md +13 -0
- data/lib/generators/sidekiq/templates/job.rb.erb +1 -1
- data/lib/sidekiq/api.rb +18 -5
- data/lib/sidekiq/capsule.rb +4 -0
- data/lib/sidekiq/config.rb +8 -2
- data/lib/sidekiq/fetch.rb +1 -0
- data/lib/sidekiq/job/iterable.rb +2 -2
- data/lib/sidekiq/job_logger.rb +4 -2
- data/lib/sidekiq/launcher.rb +14 -5
- data/lib/sidekiq/middleware/i18n.rb +2 -0
- data/lib/sidekiq/monitor.rb +4 -8
- data/lib/sidekiq/profiler.rb +1 -0
- data/lib/sidekiq/ring_buffer.rb +1 -0
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web/application.rb +10 -0
- data/lib/sidekiq/web/helpers.rb +0 -8
- data/web/assets/javascripts/application.js +16 -0
- data/web/assets/stylesheets/style.css +17 -0
- data/web/locales/ar.yml +1 -0
- data/web/locales/cs.yml +1 -0
- data/web/locales/da.yml +1 -0
- data/web/locales/de.yml +1 -0
- data/web/locales/el.yml +1 -0
- data/web/locales/en.yml +1 -0
- data/web/locales/es.yml +1 -0
- data/web/locales/fa.yml +1 -0
- data/web/locales/fr.yml +1 -0
- data/web/locales/gd.yml +1 -0
- data/web/locales/he.yml +1 -0
- data/web/locales/hi.yml +1 -0
- data/web/locales/it.yml +1 -0
- data/web/locales/ja.yml +1 -0
- data/web/locales/ko.yml +1 -0
- data/web/locales/lt.yml +1 -0
- data/web/locales/nb.yml +1 -0
- data/web/locales/nl.yml +1 -0
- data/web/locales/pl.yml +1 -0
- data/web/locales/pt-BR.yml +1 -0
- data/web/locales/pt.yml +1 -0
- data/web/locales/ru.yml +1 -0
- data/web/locales/sv.yml +1 -0
- data/web/locales/ta.yml +1 -0
- data/web/locales/tr.yml +1 -0
- data/web/locales/uk.yml +1 -0
- data/web/locales/ur.yml +1 -0
- data/web/locales/vi.yml +1 -0
- data/web/locales/zh-CN.yml +1 -0
- data/web/locales/zh-TW.yml +1 -0
- data/web/views/_footer.erb +1 -1
- data/web/views/_metrics_period_select.erb +1 -1
- data/web/views/_paging.erb +0 -1
- data/web/views/_poll_link.erb +2 -2
- data/web/views/busy.erb +4 -8
- data/web/views/dashboard.erb +3 -3
- data/web/views/dead.erb +3 -3
- data/web/views/filtering.erb +2 -2
- data/web/views/layout.erb +7 -7
- data/web/views/metrics.erb +7 -7
- data/web/views/morgue.erb +8 -4
- data/web/views/queue.erb +2 -2
- data/web/views/queues.erb +4 -4
- data/web/views/retries.erb +9 -5
- data/web/views/retry.erb +2 -2
- data/web/views/scheduled.erb +8 -4
- data/web/views/scheduled_job_info.erb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ef51643693879cd574d6edd54ef41443defc4825c855d5eed0e07d42e35aa1cd
|
|
4
|
+
data.tar.gz: 2d9acb8d89326185356ee9818ca543e8a6992bac0a00262e06aa9394052978c1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 761f705abeb6b5deb31591d07d9d9ea0d79d5d6f74367f622842994aa0a57866bd3af9add1089ce2b29d8dd4a9cd110d839036504a1ae0830ac59dbca186ff26
|
|
7
|
+
data.tar.gz: 5df2e3b47cb7ed56a51ff90b1a8d23ea96f74e9fd64a9116d249a266c7a074ef2a4bac09d66202c66a4f631c6f15bcae167df8ae733f43020f0b53886ae3e564
|
data/Changes.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
[Sidekiq Changes](https://github.com/sidekiq/sidekiq/blob/main/Changes.md) | [Sidekiq Pro Changes](https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md)
|
|
4
4
|
|
|
5
|
+
8.0.9
|
|
6
|
+
----------
|
|
7
|
+
|
|
8
|
+
- Implement idle Redis connection reaping, will be activated in 8.1 [#6663]
|
|
9
|
+
- Updated `Sidekiq::Process` API to provide capsule data. The `queues` and `weights`
|
|
10
|
+
data will be removed from Redis in Sidekiq 8.1, as this data can now be found in the
|
|
11
|
+
`capsules` element. [#6295]
|
|
12
|
+
- Restore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]
|
|
13
|
+
- Support logging additional job attributes [#6846, bschrag620]
|
|
14
|
+
- Fix display of long job args [#6836]
|
|
15
|
+
- Create development lifecycle (`docs/sdlc.md`) and security (`docs/SECURITY.md`) policy
|
|
16
|
+
documentation for Sidekiq's current workflows
|
|
17
|
+
|
|
5
18
|
8.0.8
|
|
6
19
|
----------
|
|
7
20
|
|
data/lib/sidekiq/api.rb
CHANGED
|
@@ -1059,9 +1059,9 @@ module Sidekiq
|
|
|
1059
1059
|
# 'started_at' => <process start time>,
|
|
1060
1060
|
# 'pid' => 12345,
|
|
1061
1061
|
# 'tag' => 'myapp'
|
|
1062
|
-
# 'concurrency' =>
|
|
1063
|
-
# '
|
|
1064
|
-
# 'busy' =>
|
|
1062
|
+
# 'concurrency' => 5,
|
|
1063
|
+
# 'capsules' => {"default" => {"mode" => "weighted", "concurrency" => 5, "weights" => {"default" => 2, "low" => 1}}},
|
|
1064
|
+
# 'busy' => 3,
|
|
1065
1065
|
# 'beat' => <last heartbeat>,
|
|
1066
1066
|
# 'identity' => <unique string identifying the process>,
|
|
1067
1067
|
# 'embedded' => true,
|
|
@@ -1089,12 +1089,25 @@ module Sidekiq
|
|
|
1089
1089
|
self["identity"]
|
|
1090
1090
|
end
|
|
1091
1091
|
|
|
1092
|
+
# deprecated, use capsules below
|
|
1092
1093
|
def queues
|
|
1093
|
-
|
|
1094
|
+
capsules.values.flat_map { |x| x["weights"].keys }.uniq
|
|
1094
1095
|
end
|
|
1095
1096
|
|
|
1097
|
+
# deprecated, use capsules below
|
|
1096
1098
|
def weights
|
|
1097
|
-
|
|
1099
|
+
hash = {}
|
|
1100
|
+
capsules.values.each do |cap|
|
|
1101
|
+
# Note: will lose data if two capsules are processing the same named queue
|
|
1102
|
+
cap["weights"].each_pair do |queue, weight|
|
|
1103
|
+
hash[queue] = weight
|
|
1104
|
+
end
|
|
1105
|
+
end
|
|
1106
|
+
hash
|
|
1107
|
+
end
|
|
1108
|
+
|
|
1109
|
+
def capsules
|
|
1110
|
+
self["capsules"]
|
|
1098
1111
|
end
|
|
1099
1112
|
|
|
1100
1113
|
def version
|
data/lib/sidekiq/capsule.rb
CHANGED
data/lib/sidekiq/config.rb
CHANGED
|
@@ -35,7 +35,8 @@ module Sidekiq
|
|
|
35
35
|
dead_max_jobs: 10_000,
|
|
36
36
|
dead_timeout_in_seconds: 180 * 24 * 60 * 60, # 6 months
|
|
37
37
|
reloader: proc { |&block| block.call },
|
|
38
|
-
backtrace_cleaner: ->(backtrace) { backtrace }
|
|
38
|
+
backtrace_cleaner: ->(backtrace) { backtrace },
|
|
39
|
+
logged_job_attributes: ["bid", "tags"]
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
ERROR_HANDLER = ->(ex, ctx, cfg = Sidekiq.default_configuration) {
|
|
@@ -144,11 +145,16 @@ module Sidekiq
|
|
|
144
145
|
@redis_config = @redis_config.merge(hash)
|
|
145
146
|
end
|
|
146
147
|
|
|
148
|
+
def reap_idle_redis_connections(timeout = nil)
|
|
149
|
+
self[:reap_connections] = timeout
|
|
150
|
+
end
|
|
151
|
+
alias_method :reap, :reap_idle_redis_connections
|
|
152
|
+
|
|
147
153
|
def redis_pool
|
|
148
154
|
Thread.current[:sidekiq_redis_pool] || Thread.current[:sidekiq_capsule]&.redis_pool || local_redis_pool
|
|
149
155
|
end
|
|
150
156
|
|
|
151
|
-
|
|
157
|
+
def local_redis_pool
|
|
152
158
|
# this is our internal client/housekeeping pool. each capsule has its
|
|
153
159
|
# own pool for executing threads.
|
|
154
160
|
@redis ||= new_redis_pool(10, "internal")
|
data/lib/sidekiq/fetch.rb
CHANGED
data/lib/sidekiq/job/iterable.rb
CHANGED
|
@@ -55,7 +55,7 @@ module Sidekiq
|
|
|
55
55
|
def cancel!
|
|
56
56
|
return @_cancelled if cancelled?
|
|
57
57
|
|
|
58
|
-
key =
|
|
58
|
+
key = iteration_key
|
|
59
59
|
_, result, _ = Sidekiq.redis do |c|
|
|
60
60
|
c.pipelined do |p|
|
|
61
61
|
p.hsetnx(key, "cancelled", Time.now.to_i)
|
|
@@ -177,7 +177,7 @@ module Sidekiq
|
|
|
177
177
|
private
|
|
178
178
|
|
|
179
179
|
def is_cancelled?
|
|
180
|
-
@_cancelled = Sidekiq.redis { |c| c.hget(
|
|
180
|
+
@_cancelled = Sidekiq.redis { |c| c.hget(iteration_key, "cancelled") }
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
def fetch_previous_iteration_state
|
data/lib/sidekiq/job_logger.rb
CHANGED
|
@@ -29,8 +29,10 @@ module Sidekiq
|
|
|
29
29
|
jid: job_hash["jid"],
|
|
30
30
|
class: job_hash["wrapped"] || job_hash["class"]
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
|
|
33
|
+
@config[:logged_job_attributes].each do |attr|
|
|
34
|
+
h[attr.to_sym] = job_hash[attr] if job_hash.has_key?(attr)
|
|
35
|
+
end
|
|
34
36
|
|
|
35
37
|
Thread.current[:sidekiq_context] = h
|
|
36
38
|
level = job_hash["log_level"]
|
data/lib/sidekiq/launcher.rb
CHANGED
|
@@ -142,6 +142,12 @@ module Sidekiq
|
|
|
142
142
|
key = identity
|
|
143
143
|
fails = procd = 0
|
|
144
144
|
|
|
145
|
+
idle = config[:reap_connections]
|
|
146
|
+
if idle
|
|
147
|
+
config.capsules.each_value { |cap| cap.local_redis_pool.reap(idle, &:close) }
|
|
148
|
+
config.local_redis_pool.reap(idle, &:close)
|
|
149
|
+
end
|
|
150
|
+
|
|
145
151
|
begin
|
|
146
152
|
flush_stats
|
|
147
153
|
|
|
@@ -252,8 +258,15 @@ module Sidekiq
|
|
|
252
258
|
"pid" => ::Process.pid,
|
|
253
259
|
"tag" => @config[:tag] || "",
|
|
254
260
|
"concurrency" => @config.total_concurrency,
|
|
261
|
+
"capsules" => @config.capsules.each_with_object({}) { |(name, cap), memo|
|
|
262
|
+
memo[name] = cap.to_h
|
|
263
|
+
},
|
|
264
|
+
#####
|
|
265
|
+
# TODO deprecated, remove in 9.0
|
|
266
|
+
# This data is now found in the `capsules` element above
|
|
255
267
|
"queues" => @config.capsules.values.flat_map { |cap| cap.queues }.uniq,
|
|
256
|
-
"weights" =>
|
|
268
|
+
"weights" => @config.capsules.values.map(&:weights),
|
|
269
|
+
#####
|
|
257
270
|
"labels" => @config[:labels].to_a,
|
|
258
271
|
"identity" => identity,
|
|
259
272
|
"version" => Sidekiq::VERSION,
|
|
@@ -261,10 +274,6 @@ module Sidekiq
|
|
|
261
274
|
}
|
|
262
275
|
end
|
|
263
276
|
|
|
264
|
-
def to_weights
|
|
265
|
-
@config.capsules.values.map(&:weights)
|
|
266
|
-
end
|
|
267
|
-
|
|
268
277
|
def to_json
|
|
269
278
|
# this data changes infrequently so dump it to a string
|
|
270
279
|
# now so we don't need to dump it every heartbeat.
|
|
@@ -11,6 +11,7 @@ module Sidekiq::Middleware::I18n
|
|
|
11
11
|
# to be sent to Sidekiq.
|
|
12
12
|
class Client
|
|
13
13
|
include Sidekiq::ClientMiddleware
|
|
14
|
+
|
|
14
15
|
def call(_jobclass, job, _queue, _redis)
|
|
15
16
|
job["locale"] ||= I18n.locale
|
|
16
17
|
yield
|
|
@@ -20,6 +21,7 @@ module Sidekiq::Middleware::I18n
|
|
|
20
21
|
# Pull the msg locale out and set the current thread to use it.
|
|
21
22
|
class Server
|
|
22
23
|
include Sidekiq::ServerMiddleware
|
|
24
|
+
|
|
23
25
|
def call(_jobclass, job, _queue, &block)
|
|
24
26
|
I18n.with_locale(job.fetch("locale", I18n.default_locale), &block)
|
|
25
27
|
end
|
data/lib/sidekiq/monitor.rb
CHANGED
|
@@ -49,14 +49,10 @@ class Sidekiq::Monitor
|
|
|
49
49
|
puts "---- Processes (#{process_set.size}) ----"
|
|
50
50
|
process_set.each_with_index do |process, index|
|
|
51
51
|
# Keep compatibility with legacy versions since we don't want to break sidekiqmon during rolling upgrades or downgrades.
|
|
52
|
-
#
|
|
53
|
-
# Before:
|
|
54
|
-
# ["default", "critical"]
|
|
55
|
-
#
|
|
56
|
-
# After:
|
|
57
|
-
# {"default" => 1, "critical" => 10}
|
|
58
52
|
queues =
|
|
59
|
-
if process["
|
|
53
|
+
if process["capsules"] # 8.0.6+
|
|
54
|
+
process["capsules"].values.map { |x| x["weights"].keys.join(", ") }
|
|
55
|
+
elsif process["weights"]
|
|
60
56
|
process["weights"].sort_by { |queue| queue[0] }.map { |capsule| capsule.map { |name, weight| (weight > 0) ? "#{name}: #{weight}" : name }.join(", ") }
|
|
61
57
|
else
|
|
62
58
|
process["queues"].sort
|
|
@@ -105,7 +101,7 @@ class Sidekiq::Monitor
|
|
|
105
101
|
out << line
|
|
106
102
|
line = " " * pad
|
|
107
103
|
end
|
|
108
|
-
line << value + "
|
|
104
|
+
line << value + "; "
|
|
109
105
|
end
|
|
110
106
|
out << line[0..-3]
|
|
111
107
|
out.join("\n")
|
data/lib/sidekiq/profiler.rb
CHANGED
data/lib/sidekiq/ring_buffer.rb
CHANGED
data/lib/sidekiq/version.rb
CHANGED
|
@@ -318,6 +318,16 @@ module Sidekiq
|
|
|
318
318
|
redirect_with_query("#{root_path}scheduled")
|
|
319
319
|
end
|
|
320
320
|
|
|
321
|
+
post "/scheduled/all/delete" do
|
|
322
|
+
Sidekiq::ScheduledSet.new.clear
|
|
323
|
+
redirect "#{root_path}scheduled"
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
post "/scheduled/all/add_to_queue" do
|
|
327
|
+
Sidekiq::ScheduledSet.new.each(&:add_to_queue)
|
|
328
|
+
redirect "#{root_path}scheduled"
|
|
329
|
+
end
|
|
330
|
+
|
|
321
331
|
get "/dashboard/stats" do
|
|
322
332
|
redirect "#{root_path}stats"
|
|
323
333
|
end
|
data/lib/sidekiq/web/helpers.rb
CHANGED
|
@@ -256,14 +256,6 @@ module Sidekiq
|
|
|
256
256
|
end
|
|
257
257
|
end
|
|
258
258
|
|
|
259
|
-
def busy_weights(capsule_weights)
|
|
260
|
-
# backwards compat with 7.0.0, remove in 7.1
|
|
261
|
-
cw = [capsule_weights].flatten
|
|
262
|
-
cw.map { |hash|
|
|
263
|
-
hash.map { |name, weight| (weight > 0) ? +name << ": " << weight.to_s : name }.join(", ")
|
|
264
|
-
}.join("; ")
|
|
265
|
-
end
|
|
266
|
-
|
|
267
259
|
def stats
|
|
268
260
|
@stats ||= Sidekiq::Stats.new
|
|
269
261
|
end
|
|
@@ -22,6 +22,7 @@ function addListeners() {
|
|
|
22
22
|
node.addEventListener("click", addDataToggleListeners)
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
+
initializeBulkToggle();
|
|
25
26
|
addShiftClickListeners();
|
|
26
27
|
updateFuzzyTimes();
|
|
27
28
|
updateNumbers();
|
|
@@ -63,6 +64,21 @@ function addDataToggleListeners(event) {
|
|
|
63
64
|
full.classList.toggle("is-open");
|
|
64
65
|
}
|
|
65
66
|
|
|
67
|
+
function toggleBulkButtons() {
|
|
68
|
+
const checkboxes = document.querySelectorAll('.select-item-checkbox, .check-all-items');
|
|
69
|
+
const anyChecked = Array.from(checkboxes).some(cb => cb.checked);
|
|
70
|
+
const buttons = document.querySelectorAll('.bulk-action-buttons');
|
|
71
|
+
buttons.forEach(btn => {
|
|
72
|
+
btn.style.display = anyChecked ? 'none' : 'block';
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function initializeBulkToggle(){
|
|
77
|
+
document.querySelectorAll('.check-all-items, .select-item-checkbox').forEach(cb => {
|
|
78
|
+
cb.addEventListener('change', toggleBulkButtons);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
66
82
|
function addShiftClickListeners() {
|
|
67
83
|
let checkboxes = Array.from(document.querySelectorAll(".shift_clickable"));
|
|
68
84
|
let lastChecked = null;
|
|
@@ -454,6 +454,10 @@ canvas + .table_container {
|
|
|
454
454
|
gap: 8px;
|
|
455
455
|
}
|
|
456
456
|
|
|
457
|
+
.bulk-action-buttons.bulk-lead-button {
|
|
458
|
+
margin-inline-start: auto;
|
|
459
|
+
}
|
|
460
|
+
|
|
457
461
|
table {
|
|
458
462
|
background-color: var(--color-elevated);
|
|
459
463
|
border: 1px solid var(--color-border);
|
|
@@ -757,3 +761,16 @@ body > footer .nav {
|
|
|
757
761
|
padding: 20px;
|
|
758
762
|
background: var(--color-success);
|
|
759
763
|
}
|
|
764
|
+
|
|
765
|
+
.args {
|
|
766
|
+
overflow-y: auto;
|
|
767
|
+
max-height: 50px;
|
|
768
|
+
word-break: break-word
|
|
769
|
+
}
|
|
770
|
+
.args-extended {
|
|
771
|
+
overflow-y: scroll;
|
|
772
|
+
max-height: 500px;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
.toggle { display: none; }
|
|
776
|
+
.toggle.is-open { display: block; }
|
data/web/locales/ar.yml
CHANGED
data/web/locales/cs.yml
CHANGED
|
@@ -3,6 +3,7 @@ cs:
|
|
|
3
3
|
LanguageName: Čeština
|
|
4
4
|
Actions: Akce
|
|
5
5
|
AddToQueue: Přidat do fronty
|
|
6
|
+
AddAllToQueue: Přidat vše do fronty
|
|
6
7
|
AreYouSure: Jste si jisti?
|
|
7
8
|
AreYouSureDeleteJob: Jste si jisti, že chcete odstranit tento úkol?
|
|
8
9
|
AreYouSureDeleteQueue: Jste si jisti, že chcete odstranit frontu %{queue}?
|
data/web/locales/da.yml
CHANGED
|
@@ -3,6 +3,7 @@ da:
|
|
|
3
3
|
LanguageName: Dansk
|
|
4
4
|
Actions: Handlinger
|
|
5
5
|
AddToQueue: Tilføj til kø
|
|
6
|
+
AddAllToQueue: Tilføj alle til kø
|
|
6
7
|
AreYouSure: Er du sikker?
|
|
7
8
|
AreYouSureDeleteJob: Er du sikker på at du vil slette dette job?
|
|
8
9
|
AreYouSureDeleteQueue: Er du sikker på at du vil slette %{queue} køen?
|
data/web/locales/de.yml
CHANGED
|
@@ -3,6 +3,7 @@ de:
|
|
|
3
3
|
LanguageName: Deutsch
|
|
4
4
|
Actions: Aktionen
|
|
5
5
|
AddToQueue: In Warteschlange einreihen
|
|
6
|
+
AddAllToQueue: Alle in Warteschlange einreihen
|
|
6
7
|
AreYouSure: Bist du sicher?
|
|
7
8
|
AreYouSureDeleteJob: Möchtest du diesen Job wirklich löschen?
|
|
8
9
|
AreYouSureDeleteQueue: Möchtest du %{queue} wirklich löschen?
|
data/web/locales/el.yml
CHANGED
|
@@ -26,6 +26,7 @@ el: # <---- change this to your locale code
|
|
|
26
26
|
ShowAll: Εμφάνιση Όλων
|
|
27
27
|
Enqueued: Μπήκαν στην στοίβα
|
|
28
28
|
AddToQueue: Προσθήκη στην στοίβα
|
|
29
|
+
AddAllToQueue: Προσθήκη όλων στην στοίβα
|
|
29
30
|
AreYouSureDeleteJob: Θέλετε να διαγράψετε αυτή την εργασία;
|
|
30
31
|
AreYouSureDeleteQueue: Θέλετε να διαγράψετε την στοίβα %{queue}; Αυτό θα διαγράψει όλες τις εργασίες εντός της στοίβας, θα εμφανιστεί ξανά εάν προωθήσετε περισσότερες εργασίες σε αυτήν στο μέλλον.
|
|
31
32
|
Queues: Στοίβες
|
data/web/locales/en.yml
CHANGED
|
@@ -3,6 +3,7 @@ en:
|
|
|
3
3
|
LanguageName: English
|
|
4
4
|
Actions: Actions
|
|
5
5
|
AddToQueue: Add to queue
|
|
6
|
+
AddAllToQueue: Add All to Queue
|
|
6
7
|
AreYouSure: Are you sure?
|
|
7
8
|
AreYouSureDeleteJob: Are you sure you want to delete this job?
|
|
8
9
|
AreYouSureDeleteQueue: Are you sure you want to delete the %{queue} queue? This will delete all jobs within the queue, it will reappear if you push more jobs to it in the future.
|
data/web/locales/es.yml
CHANGED
|
@@ -3,6 +3,7 @@ es:
|
|
|
3
3
|
LanguageName: Español
|
|
4
4
|
Actions: Acciones
|
|
5
5
|
AddToQueue: Añadir a la cola
|
|
6
|
+
AddAllToQueue: Añadir todo a la cola
|
|
6
7
|
AreYouSure: ¿Estás seguro?
|
|
7
8
|
AreYouSureDeleteJob: ¿Estás seguro de eliminar este trabajo?
|
|
8
9
|
AreYouSureDeleteQueue: ¿Estás seguro de eliminar la cola %{queue}?
|
data/web/locales/fa.yml
CHANGED
data/web/locales/fr.yml
CHANGED
|
@@ -3,6 +3,7 @@ fr:
|
|
|
3
3
|
LanguageName: Français
|
|
4
4
|
Actions: Actions
|
|
5
5
|
AddToQueue: Ajouter à la queue
|
|
6
|
+
AddAllToQueue: Ajouter tout à la queue
|
|
6
7
|
AreYouSure: Êtes-vous certain ?
|
|
7
8
|
AreYouSureDeleteJob: Êtes-vous certain de vouloir supprimer cette tâche ?
|
|
8
9
|
AreYouSureDeleteQueue: Êtes-vous certain de vouloir supprimer la queue %{queue} ?
|
data/web/locales/gd.yml
CHANGED
|
@@ -3,6 +3,7 @@ gd:
|
|
|
3
3
|
LanguageName: Gaeilge
|
|
4
4
|
Actions: Gnìomhan
|
|
5
5
|
AddToQueue: Cuir ris a’ chiutha
|
|
6
|
+
AddAllToQueue: Cuir a h-uile ris a’ chiutha
|
|
6
7
|
AreYouSure: A bheil thu cinnteach?
|
|
7
8
|
AreYouSureDeleteJob: A bheil thu cinnteach gu bheil thu airson an obair seo a sguabadh às?
|
|
8
9
|
AreYouSureDeleteQueue: A bheil thu cinnteach gu bheil thu airson ciutha %{queue} a sguabadh às? Sguabaidh seo às gach obair sa chiutha seo, nochdaidh e a-rithist nuair a phutas tu barrachd obraichean dha an uairsin.
|
data/web/locales/he.yml
CHANGED
data/web/locales/hi.yml
CHANGED
|
@@ -3,6 +3,7 @@ hi:
|
|
|
3
3
|
LanguageName: हिन्दी
|
|
4
4
|
Actions: कार्रवाई
|
|
5
5
|
AddToQueue: कतार मे जोड़ें
|
|
6
|
+
AddAllToQueue: सभी को कतार मे जोड़ें
|
|
6
7
|
AreYouSure: क्या आपको यकीन है?
|
|
7
8
|
AreYouSureDeleteJob: क्या आप इस कार्य को हटाना चाहते है?
|
|
8
9
|
AreYouSureDeleteQueue: क्या आप %{queue} कतार को हटाना चाहते है?
|
data/web/locales/it.yml
CHANGED
|
@@ -3,6 +3,7 @@ it:
|
|
|
3
3
|
LanguageName: Italiano
|
|
4
4
|
Actions: Azioni
|
|
5
5
|
AddToQueue: Aggiungi alla coda
|
|
6
|
+
AddAllToQueue: Aggiungi tutto alla coda
|
|
6
7
|
AreYouSure: Sei sicuro?
|
|
7
8
|
AreYouSureDeleteJob: Sei sicuro di voler cancellare questo lavoro?
|
|
8
9
|
AreYouSureDeleteQueue: Sei sicuro di voler cancellare la coda %{queue}?
|
data/web/locales/ja.yml
CHANGED
data/web/locales/ko.yml
CHANGED
data/web/locales/lt.yml
CHANGED
|
@@ -3,6 +3,7 @@ lt:
|
|
|
3
3
|
LanguageName: Lietuvių
|
|
4
4
|
Actions: Veiksmai
|
|
5
5
|
AddToQueue: Pridėti į eilę
|
|
6
|
+
AddAllToQueue: Pridėti viską į eilę
|
|
6
7
|
AreYouSure: Ar jūs įsitikinę?
|
|
7
8
|
AreYouSureDeleteJob: Ar tikrai norite pašalinti šį darbą?
|
|
8
9
|
AreYouSureDeleteQueue: Ar tikrai norite pašalinti šią eilę %{queue}?
|
data/web/locales/nb.yml
CHANGED
|
@@ -3,6 +3,7 @@ nb:
|
|
|
3
3
|
LanguageName: Norsk
|
|
4
4
|
Actions: Handlinger
|
|
5
5
|
AddToQueue: Legg til i kø
|
|
6
|
+
AddAllToQueue: Legg alt til i kø
|
|
6
7
|
AreYouSure: Er du sikker?
|
|
7
8
|
AreYouSureDeleteJob: Er du sikker på at du vil slette denne jobben?
|
|
8
9
|
AreYouSureDeleteQueue: Er du sikker på at du vil slette køen %{queue}?
|
data/web/locales/nl.yml
CHANGED
|
@@ -3,6 +3,7 @@ nl:
|
|
|
3
3
|
LanguageName: Nederlands
|
|
4
4
|
Actions: Acties
|
|
5
5
|
AddToQueue: Toevoegen aan wachtrij
|
|
6
|
+
AddAllToQueue: Alles toevoegen aan wachtrij
|
|
6
7
|
AreYouSure: Weet u het zeker?
|
|
7
8
|
AreYouSureDeleteJob: Weet u zeker dat u deze taak wilt verwijderen?
|
|
8
9
|
AreYouSureDeleteQueue: Weet u zeker dat u wachtrij %{queue} wilt verwijderen?
|
data/web/locales/pl.yml
CHANGED
data/web/locales/pt-BR.yml
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
LanguageName: Português (Brasil)
|
|
3
3
|
Actions: Ações
|
|
4
4
|
AddToQueue: Adicionar à fila
|
|
5
|
+
AddAllToQueue: Adicionar tudo à fila
|
|
5
6
|
AreYouSure: Tem certeza?
|
|
6
7
|
AreYouSureDeleteJob: Deseja deletar esta tarefa?
|
|
7
8
|
AreYouSureDeleteQueue: Deseja deletar a fila %{queue}? Isso irá deletar todas as tarefas desta fila.
|
data/web/locales/pt.yml
CHANGED
|
@@ -3,6 +3,7 @@ pt:
|
|
|
3
3
|
LanguageName: Português
|
|
4
4
|
Actions: Acções
|
|
5
5
|
AddToQueue: Adicionar à fila
|
|
6
|
+
AddAllToQueue: Adicionar tudo à fila
|
|
6
7
|
AreYouSure: Tem a certeza?
|
|
7
8
|
AreYouSureDeleteJob: Tem a certeza que deseja eliminar esta tarefa?
|
|
8
9
|
AreYouSureDeleteQueue: Tem a certeza que deseja eliminar a fila %{queue}?
|
data/web/locales/ru.yml
CHANGED
|
@@ -3,6 +3,7 @@ ru:
|
|
|
3
3
|
LanguageName: Русский
|
|
4
4
|
Actions: Действия
|
|
5
5
|
AddToQueue: Добавить в очередь
|
|
6
|
+
AddAllToQueue: Добавить все в очередь
|
|
6
7
|
AreYouSure: Вы уверены?
|
|
7
8
|
AreYouSureDeleteJob: Вы уверены, что хотите удалить эту задачу?
|
|
8
9
|
AreYouSureDeleteQueue: Вы уверены, что хотите удалить очередь %{queue}?
|
data/web/locales/sv.yml
CHANGED
|
@@ -3,6 +3,7 @@ sv:
|
|
|
3
3
|
LanguageName: Svenska
|
|
4
4
|
Actions: Åtgärder
|
|
5
5
|
AddToQueue: Lägg till i kö
|
|
6
|
+
AddAllToQueue: Lägg till allt i kö
|
|
6
7
|
AreYouSure: Är du säker?
|
|
7
8
|
AreYouSureDeleteJob: Är du säker på att du vill ta bort detta jobb?
|
|
8
9
|
AreYouSureDeleteQueue: Är du säker på att du vill ta bort kön %{queue}?
|
data/web/locales/ta.yml
CHANGED
|
@@ -3,6 +3,7 @@ ta:
|
|
|
3
3
|
LanguageName: தமிழ்
|
|
4
4
|
Actions: செயல்கள்
|
|
5
5
|
AddToQueue: வரிசையில் சேர்
|
|
6
|
+
AddAllToQueue: அனைத்தையும் வரிசையில் சேர்
|
|
6
7
|
AreYouSure: நீங்கள் உறுதியாக இருக்கிறீர்களா?
|
|
7
8
|
AreYouSureDeleteJob: நீ இந்த வேலையை நீக்க வேண்டும் என்று உறுதியாக இருக்கிறீர்களா?
|
|
8
9
|
AreYouSureDeleteQueue: நீங்கள் %{queue} வரிசையில் நீக்க வேண்டும் என்பதில் உறுதியாக இருக்கிறீர்களா?
|
data/web/locales/tr.yml
CHANGED
|
@@ -3,6 +3,7 @@ tr:
|
|
|
3
3
|
LanguageName: Türkçe
|
|
4
4
|
Actions: Eylemler
|
|
5
5
|
AddToQueue: Kuyruğa ekle
|
|
6
|
+
AddAllToQueue: Hepsini kuyruğa ekle
|
|
6
7
|
AreYouSure: Emin misiniz?
|
|
7
8
|
AreYouSureDeleteJob: Bu işi silmek istediğinizden emin misiniz?
|
|
8
9
|
AreYouSureDeleteQueue: "%{queue} kuyruğunu silmek istediğinizden emin misiniz?"
|
data/web/locales/uk.yml
CHANGED
|
@@ -3,6 +3,7 @@ uk:
|
|
|
3
3
|
LanguageName: Українська
|
|
4
4
|
Actions: Дії
|
|
5
5
|
AddToQueue: Додати до черги
|
|
6
|
+
AddAllToQueue: Додати все до черги
|
|
6
7
|
AreYouSure: Ви впевнені?
|
|
7
8
|
AreYouSureDeleteJob: Ви впевнені у тому, що хочете видалити задачу?
|
|
8
9
|
AreYouSureDeleteQueue: Ви впевнені у тому, що хочете видалити чергу %{queue}?
|
data/web/locales/ur.yml
CHANGED
data/web/locales/vi.yml
CHANGED
|
@@ -3,6 +3,7 @@ vi:
|
|
|
3
3
|
LanguageName: Tiếng Việt
|
|
4
4
|
Actions: Những hành động
|
|
5
5
|
AddToQueue: Thêm vào hàng đợi
|
|
6
|
+
AddAllToQueue: Thêm tất cả vào hàng đợi
|
|
6
7
|
AreYouSure: Bạn chắc chứ?
|
|
7
8
|
AreYouSureDeleteJob: Bạn có chắc là muốn xóa tác vụ này?
|
|
8
9
|
AreYouSureDeleteQueue: Bạn có chắc là muốn xóa %{queue} này?
|
data/web/locales/zh-CN.yml
CHANGED
data/web/locales/zh-TW.yml
CHANGED
|
@@ -27,6 +27,7 @@ zh-TW: # <---- change this to your locale code
|
|
|
27
27
|
CurrentMessagesInQueue: 目前在<span class='title'>%{queue}</span>的工作
|
|
28
28
|
Delete: 刪除
|
|
29
29
|
AddToQueue: 增加至佇列
|
|
30
|
+
AddAllToQueue: 增加所有至佇列
|
|
30
31
|
AreYouSureDeleteJob: 確定要刪除這個工作嗎?
|
|
31
32
|
AreYouSureDeleteQueue: 確定要刪除%{queue}佇列?這會刪除佇列裡的所有工作,佇列將會在有新工作時重新出現。
|
|
32
33
|
Queues: 佇列
|
data/web/views/_footer.erb
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<p id="serverUtcTime"><%= server_utc_time %></p>
|
|
12
12
|
</li>
|
|
13
13
|
<li>
|
|
14
|
-
<p><a rel=help href="https://github.com/sidekiq/sidekiq/wiki">docs</a></p>
|
|
14
|
+
<p><a rel="help" href="https://github.com/sidekiq/sidekiq/wiki">docs</a></p>
|
|
15
15
|
</li>
|
|
16
16
|
<li>
|
|
17
17
|
<form id="locale-form" action="<%= root_path %>change_locale" method="post">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="filter">
|
|
2
2
|
<form id="metrics-form" class="form-inline" action="<%= path %>" method="get">
|
|
3
3
|
<label for="substr"><%= t('Filter') %></label>
|
|
4
|
-
<input id="class-filter" class="form-control" type="text" name="substr" placeholder="<%= t('Name') %>" value="<%= h url_params("substr") %>">
|
|
4
|
+
<input id="class-filter" class="form-control" type="text" name="substr" placeholder="<%= t('Name') %>" value="<%= h url_params("substr") %>" autocomplete="off">
|
|
5
5
|
<select id="period-selector" class="form-control" name="period">
|
|
6
6
|
<% periods.each_key do |code| %>
|
|
7
7
|
<% if code == period %>
|
data/web/views/_paging.erb
CHANGED
data/web/views/_poll_link.erb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<% if pollable? %>
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
<a href="#" class="btn live-poll live-poll-start btn-primary"><%= t('LivePoll') %></a>
|
|
3
|
+
<a href="#" class="btn live-poll live-poll-stop btn-danger"><%= t('StopPolling') %></a>
|
|
4
4
|
<% end %>
|
data/web/views/busy.erb
CHANGED
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
<form method="POST" class="filter warning-messages">
|
|
34
34
|
<%= csrf_tag %>
|
|
35
35
|
<div class="btn-group pull-right flip">
|
|
36
|
-
<input class="btn btn-warn" type="submit" name="quiet" value="<%= t('QuietAll') %>" data-confirm="<%= t('AreYouSure') %>"
|
|
37
|
-
<input class="btn btn-danger" type="submit" name="stop" value="<%= t('StopAll') %>" data-confirm="<%= t('AreYouSure') %>"
|
|
36
|
+
<input class="btn btn-warn" type="submit" name="quiet" value="<%= t('QuietAll') %>" data-confirm="<%= t('AreYouSure') %>">
|
|
37
|
+
<input class="btn btn-danger" type="submit" name="stop" value="<%= t('StopAll') %>" data-confirm="<%= t('AreYouSure') %>">
|
|
38
38
|
</div>
|
|
39
39
|
</form>
|
|
40
40
|
</header>
|
|
@@ -69,11 +69,7 @@
|
|
|
69
69
|
<% end %>
|
|
70
70
|
<br>
|
|
71
71
|
<b><%= "#{t('Queues')}: " %></b>
|
|
72
|
-
|
|
73
|
-
<%= busy_weights(process.weights) %>
|
|
74
|
-
<% else %>
|
|
75
|
-
<%= process.queues.sort.join(", ") %>
|
|
76
|
-
<% end %>
|
|
72
|
+
<%= process.queues.sort.join(", ") %>
|
|
77
73
|
<% if process.version != Sidekiq::VERSION %>
|
|
78
74
|
<br>
|
|
79
75
|
<b><%= "#{t('Version')}: " %></b>
|
|
@@ -92,7 +88,7 @@
|
|
|
92
88
|
<% unless process.embedded? %>
|
|
93
89
|
<form method="POST">
|
|
94
90
|
<%= csrf_tag %>
|
|
95
|
-
<input type="hidden" name="identity" value="<%= process['identity'] %>"
|
|
91
|
+
<input type="hidden" name="identity" value="<%= process['identity'] %>">
|
|
96
92
|
|
|
97
93
|
<div class="btn-group">
|
|
98
94
|
<% unless process.stopping? %><button class="btn btn-warn" type="submit" name="quiet" value="1"><%= t('Quiet') %></button><% end %>
|
data/web/views/dashboard.erb
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
<div class="filter interval-slider">
|
|
10
10
|
<span class="interval-slider-label"><%= t('PollingInterval') %>:</span>
|
|
11
11
|
<span id="sldr-text" class="current-interval">5 s</span>
|
|
12
|
-
<br
|
|
13
|
-
<input id="sldr" aria-label="<%= t("PollingIntervalMilliseconds") %>" role="slider" type="range" min="2000" max="20000" step="1000" value="5000"
|
|
12
|
+
<br>
|
|
13
|
+
<input id="sldr" aria-label="<%= t("PollingIntervalMilliseconds") %>" role="slider" type="range" min="2000" max="20000" step="1000" value="5000" autocomplete="off">
|
|
14
14
|
</div>
|
|
15
15
|
</header>
|
|
16
16
|
|
|
17
17
|
<div class="chart">
|
|
18
|
-
<span id="sr-last-dashboard-update-template" hidden
|
|
18
|
+
<span id="sr-last-dashboard-update-template" hidden><%= t("LastDashboardUpdateTemplateLiteral") %></span>
|
|
19
19
|
<span id="sr-last-dashboard-update" class="sr-only" role="status"></span>
|
|
20
20
|
|
|
21
21
|
<canvas id="realtime-chart">
|
data/web/views/dead.erb
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<form action="<%= root_path %>morgue/<%= job_params(@dead, @dead.score) %>" method="post">
|
|
33
33
|
<%= csrf_tag %>
|
|
34
34
|
<a class="btn btn-default" href="<%= root_path %>morgue"><%= t('GoBack') %></a>
|
|
35
|
-
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>"
|
|
36
|
-
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>"
|
|
35
|
+
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>">
|
|
36
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
37
37
|
</form>
|
|
38
|
-
</section>
|
|
38
|
+
</section>
|
data/web/views/filtering.erb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="filter">
|
|
2
|
-
<form role="search" method="get" class="form-inline" action=
|
|
2
|
+
<form role="search" method="get" class="form-inline" action="<%= root_path %><%= which %>">
|
|
3
3
|
<label for="substr"><%= t('Filter') %></label>
|
|
4
|
-
<input class="form-control" type="search" name="substr" value="<%= h url_params("substr") %>" placeholder="<%= t('AnyJobContent') %>"
|
|
4
|
+
<input class="form-control" type="search" name="substr" value="<%= h url_params("substr") %>" placeholder="<%= t('AnyJobContent') %>" autocomplete="off">
|
|
5
5
|
</form>
|
|
6
6
|
</div>
|
data/web/views/layout.erb
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
<html dir="<%= text_direction %>" lang="<%= locale %>">
|
|
3
3
|
<head>
|
|
4
4
|
<title><%= environment_title_prefix %><%= Sidekiq::NAME %></title>
|
|
5
|
-
<meta charset="utf-8"
|
|
6
|
-
<meta name="viewport" content="width=device-width,initial-scale=1.0"
|
|
7
|
-
<meta name="color-scheme" content="light dark"
|
|
8
|
-
<link href="<%= root_path %>stylesheets/style.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>"
|
|
9
|
-
<link rel="apple-touch-icon" href="<%= root_path %>images/apple-touch-icon.png"
|
|
10
|
-
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico"
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
7
|
+
<meta name="color-scheme" content="light dark">
|
|
8
|
+
<link href="<%= root_path %>stylesheets/style.css" media="screen" rel="stylesheet" type="text/css" nonce="<%= csp_nonce %>">
|
|
9
|
+
<link rel="apple-touch-icon" href="<%= root_path %>images/apple-touch-icon.png">
|
|
10
|
+
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico">
|
|
11
11
|
<script type="text/javascript" src="<%= root_path %>javascripts/application.js" nonce="<%= csp_nonce %>"></script>
|
|
12
|
-
<meta name="google" content="notranslate"
|
|
12
|
+
<meta name="google" content="notranslate">
|
|
13
13
|
<%= display_custom_head %>
|
|
14
14
|
</head>
|
|
15
15
|
<body class="admin" data-locale="<%= locale %>">
|
data/web/views/metrics.erb
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
class="metrics-swatch"
|
|
60
60
|
value="<%= kls %>"
|
|
61
61
|
<%= visible_kls.include?(kls) ? 'checked' : '' %>
|
|
62
|
-
|
|
62
|
+
>
|
|
63
63
|
<code><a href="<%= root_path %>metrics/<%= kls %>?period=<%= @period %>"><%= kls %></a></code>
|
|
64
64
|
</div>
|
|
65
65
|
</td>
|
|
@@ -70,15 +70,15 @@
|
|
|
70
70
|
</tr>
|
|
71
71
|
<% end %>
|
|
72
72
|
<% else %>
|
|
73
|
-
|
|
73
|
+
<tr><td colspan="5"><%= t("NoDataFound") %></td></tr>
|
|
74
74
|
<% end %>
|
|
75
75
|
</tbody>
|
|
76
76
|
</table>
|
|
77
77
|
</div>
|
|
78
78
|
|
|
79
|
-
<% if job_results.any? %>
|
|
80
|
-
|
|
81
|
-
<% end %>
|
|
82
|
-
|
|
79
|
+
<% if job_results.any? %>
|
|
80
|
+
<p><small>Data from <%= @query_result.starts_at %> to <%= @query_result.ends_at %>.<% if @period == "1h" %> Auto-refreshing every 60 seconds.<% end %></small></p>
|
|
81
|
+
<% end %>
|
|
83
82
|
</section>
|
|
84
|
-
|
|
83
|
+
|
|
84
|
+
<%= script_tag "javascripts/metrics.js" %>
|
data/web/views/morgue.erb
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<tr>
|
|
17
17
|
<th>
|
|
18
18
|
<label>
|
|
19
|
-
<input type="checkbox" class="check_all"
|
|
19
|
+
<input type="checkbox" class="check_all check-all-items">
|
|
20
20
|
</label>
|
|
21
21
|
</th>
|
|
22
22
|
<th><%= t('LastRetry') %></th>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<tr>
|
|
31
31
|
<td>
|
|
32
32
|
<label>
|
|
33
|
-
<input type=
|
|
33
|
+
<input type="checkbox" name="key[]" value="<%= job_params(entry.item, entry.score) %>" class="shift_clickable select-item-checkbox">
|
|
34
34
|
</label>
|
|
35
35
|
</td>
|
|
36
36
|
<td>
|
|
@@ -55,8 +55,12 @@
|
|
|
55
55
|
<% end %>
|
|
56
56
|
</table>
|
|
57
57
|
</div>
|
|
58
|
-
<
|
|
59
|
-
|
|
58
|
+
<div class="buttons-row">
|
|
59
|
+
<input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>">
|
|
60
|
+
<input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
61
|
+
<button class="btn btn-primary bulk-action-buttons bulk-lead-button" type="submit" name="action" value="retry_all" formaction="<%= "#{root_path}morgue/all/retry" %>"><%= t('RetryAll') %></button>
|
|
62
|
+
<button class="btn btn-danger bulk-action-buttons" type="submit" name="action" value="delete_all" formaction="<%= "#{root_path}morgue/all/delete" %>"><%= t('DeleteAll') %></button>
|
|
63
|
+
</div>
|
|
60
64
|
</form>
|
|
61
65
|
|
|
62
66
|
<% else %>
|
data/web/views/queue.erb
CHANGED
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
<td>
|
|
46
46
|
<form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
|
|
47
47
|
<%= csrf_tag %>
|
|
48
|
-
<input name="key_val" value="<%= h job.value %>" type="hidden"
|
|
49
|
-
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>"
|
|
48
|
+
<input name="key_val" value="<%= h job.value %>" type="hidden">
|
|
49
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>">
|
|
50
50
|
</form>
|
|
51
51
|
</td>
|
|
52
52
|
</tr>
|
data/web/views/queues.erb
CHANGED
|
@@ -26,15 +26,15 @@
|
|
|
26
26
|
<%= number_with_delimiter(queue_latency, precision: 2) %>
|
|
27
27
|
</td>
|
|
28
28
|
<td class="delete-confirm">
|
|
29
|
-
<form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
|
29
|
+
<form action="<%= root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
|
|
30
30
|
<%= csrf_tag %>
|
|
31
|
-
<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)) %>"
|
|
31
|
+
<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)) %>">
|
|
32
32
|
|
|
33
33
|
<% if Sidekiq.pro? %>
|
|
34
34
|
<% if queue.paused? %>
|
|
35
|
-
<input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>"
|
|
35
|
+
<input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>">
|
|
36
36
|
<% else %>
|
|
37
|
-
<input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>"
|
|
37
|
+
<input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>">
|
|
38
38
|
<% end %>
|
|
39
39
|
<% end %>
|
|
40
40
|
</form>
|
data/web/views/retries.erb
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<tr>
|
|
17
17
|
<th>
|
|
18
18
|
<label>
|
|
19
|
-
<input type="checkbox" class="check_all"
|
|
19
|
+
<input type="checkbox" class="check_all check-all-items">
|
|
20
20
|
</label>
|
|
21
21
|
</th>
|
|
22
22
|
<th><%= t('NextRetry') %></th>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<tr>
|
|
32
32
|
<td>
|
|
33
33
|
<label>
|
|
34
|
-
<input type=
|
|
34
|
+
<input type="checkbox" name="key[]" value="<%= job_params(entry.item, entry.score) %>" class="shift_clickable select-item-checkbox">
|
|
35
35
|
</label>
|
|
36
36
|
</td>
|
|
37
37
|
<td>
|
|
@@ -58,9 +58,13 @@
|
|
|
58
58
|
</table>
|
|
59
59
|
</div>
|
|
60
60
|
<div class="buttons-row">
|
|
61
|
-
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>"
|
|
62
|
-
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>"
|
|
63
|
-
<input class="btn btn-danger" type="submit" name="kill" value="<%= t('Kill') %>"
|
|
61
|
+
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>">
|
|
62
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
63
|
+
<input class="btn btn-danger" type="submit" name="kill" value="<%= t('Kill') %>">
|
|
64
|
+
<!-- Retry all -->
|
|
65
|
+
<button class="btn btn-primary bulk-action-buttons bulk-lead-button" type="submit" name="action" value="retry_all" formaction="<%= "#{root_path}retries/all/retry" %>"><%= t('RetryAll') %></button>
|
|
66
|
+
<button class="btn btn-danger bulk-action-buttons" type="submit" name="action" value="delete_all" formaction="<%= "#{root_path}retries/all/delete" %>"><%= t('DeleteAll') %></button>
|
|
67
|
+
<button class="btn btn-danger bulk-action-buttons" type="submit" name="action" value="kill_all" formaction="<%= "#{root_path}retries/all/kill" %>"><%= t('KillAll') %></button>
|
|
64
68
|
</div>
|
|
65
69
|
</form>
|
|
66
70
|
|
data/web/views/retry.erb
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<form action="<%= root_path %>retries/<%= job_params(@retry, @retry.score) %>" method="post">
|
|
34
34
|
<%= csrf_tag %>
|
|
35
35
|
<a class="btn btn-default" href="<%= root_path %>retries"><%= t('GoBack') %></a>
|
|
36
|
-
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>"
|
|
37
|
-
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>"
|
|
36
|
+
<input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>">
|
|
37
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
38
38
|
</form>
|
|
39
39
|
</section>
|
data/web/views/scheduled.erb
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<tr>
|
|
17
17
|
<th>
|
|
18
18
|
<label>
|
|
19
|
-
<input type="checkbox" class="check_all"
|
|
19
|
+
<input type="checkbox" class="check_all check-all-items">
|
|
20
20
|
</label>
|
|
21
21
|
</th>
|
|
22
22
|
<th><%= t('When') %></th>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<tr>
|
|
30
30
|
<td>
|
|
31
31
|
<label>
|
|
32
|
-
<input type=
|
|
32
|
+
<input type="checkbox" name="key[]" value="<%= job_params(entry.item, entry.score) %>" class="shift_clickable select-item-checkbox">
|
|
33
33
|
</label>
|
|
34
34
|
</td>
|
|
35
35
|
<td>
|
|
@@ -51,8 +51,12 @@
|
|
|
51
51
|
<% end %>
|
|
52
52
|
</table>
|
|
53
53
|
</div>
|
|
54
|
-
<
|
|
55
|
-
|
|
54
|
+
<div class="buttons-row">
|
|
55
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
56
|
+
<input class="btn btn-danger" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>">
|
|
57
|
+
<button class="btn btn-danger bulk-action-buttons bulk-lead-button" type="submit" name="action" value="delete_all" formaction="<%= "#{root_path}scheduled/all/delete" %>"><%= t('DeleteAll') %></button>
|
|
58
|
+
<button class="btn btn-danger bulk-action-buttons" type="submit" name="action" value="add_all_to_queue" formaction="<%= "#{root_path}scheduled/all/add_to_queue" %>"><%= t('AddAllToQueue') %></button>
|
|
59
|
+
</div>
|
|
56
60
|
</form>
|
|
57
61
|
<% else %>
|
|
58
62
|
<div class="alert alert-success"><%= t('NoScheduledFound') %></div>
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
<form action="<%= root_path %>scheduled/<%= job_params(@job, @job.score) %>" method="post">
|
|
4
4
|
<%= csrf_tag %>
|
|
5
5
|
<a class="btn btn-default" href="<%= root_path %>scheduled"><%= t('GoBack') %></a>
|
|
6
|
-
<input class="btn btn-primary" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>"
|
|
7
|
-
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>"
|
|
6
|
+
<input class="btn btn-primary" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>">
|
|
7
|
+
<input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>">
|
|
8
8
|
</form>
|