Skip to content

Commit c9ce6ac

Browse files
committed
Fix presentation of the Queue in the Recurring Jobs page
Fixes mattyr#38
1 parent 4783b83 commit c9ce6ac

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

Rakefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,19 @@ task :web do
2222
}
2323
end
2424

25-
# throw a fake job in
25+
# throw some fake jobs in
2626
Sidecloq.configure do |config|
2727
sched = Sidecloq::Schedule.from_hash({
2828
my_scheduled_job: {
2929
class: 'DoWork',
3030
cron: '* * * * *',
3131
queue: 'default'
32+
},
33+
my_scheduled_job2: {
34+
class: 'DoWorkWithQueue',
35+
cron: '* * * * *'
3236
}
37+
3338
})
3439
sched.save_redis
3540
config[:schedule] = sched
@@ -39,6 +44,11 @@ task :web do
3944
include Sidekiq::Worker
4045
end
4146

47+
class DoWorkWithQueue
48+
include Sidekiq::Worker
49+
sidekiq_options queue: "not_default"
50+
end
51+
4252
require 'sidekiq/web'
4353
require 'sidecloq/web'
4454
require 'securerandom'

lib/sidecloq/web.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@ module Web
55

66
def self.registered(app)
77
app.get '/recurring' do
8-
@schedule = Schedule.from_redis
8+
@job_specs = Schedule.from_redis.job_specs
9+
@job_specs.each_value do |job_spec|
10+
job_spec['cron'] ||= job_spec['every']
11+
12+
job_spec['queue'] ||= begin
13+
klass = Object.const_get(job_spec['class'])
14+
(klass.sidekiq_options_hash && klass.sidekiq_options_hash.fetch('queue', 'default')) || 'default'
15+
end
16+
end
917

1018
erb File.read(File.join(VIEW_PATH, 'recurring.erb'))
1119
end

test/helper.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ class DummyJob
5252
include Sidekiq::Worker
5353
end
5454

55+
class DummyJobWithQueue
56+
include Sidekiq::Worker
57+
sidekiq_options :queue => "dummy"
58+
end
59+
5560
require 'active_job'
5661

5762
ActiveJob::Base.queue_adapter = :sidekiq

web/views/recurring.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
</thead>
1515

1616
<tbody>
17-
<% @schedule.job_specs.each do |name, job_spec| %>
17+
<% @job_specs.each do |name, job_spec| %>
1818
<tr>
1919
<td><%= name %></td>
20-
<td><%= job_spec.fetch 'cron', job_spec['every'] %></td>
20+
<td><%= job_spec['cron'] %></td>
2121
<td><%= job_spec['class'] %></td>
2222
<td>
23-
<a href="<%= root_path %>queues/<%= job_spec.fetch('queue', 'default') %>"><%= job_spec.fetch('queue', 'default') %></a>
23+
<a href="<%= root_path %>queues/<%= job_spec['queue'] %>"><%= job_spec['queue'] %></a>
2424
</td>
2525
<td><%= job_spec['args'] %></td>
2626
<td>

0 commit comments

Comments
 (0)