1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Adjust API a bit, #5624

This commit is contained in:
Mike Perham 2022-11-06 15:04:16 -08:00
parent 053303f405
commit cc2a07d45e
No known key found for this signature in database
3 changed files with 22 additions and 4 deletions

View file

@ -6,6 +6,7 @@ HEAD
---------- ----------
- Add BID link on job_info page if job is part of a Batch [#5623] - Add BID link on job_info page if job is part of a Batch [#5623]
- Allow custom extensions to add rows/links within the Job Details page [#5624]
7.0.1 7.0.1
---------- ----------

View file

@ -12,6 +12,12 @@ class WebJob
end end
end end
class LogDisplayer
def add_pair(job)
yield "External Logs", "<a href='https://example.com/logs/#{job.jid}'>Logs for #{job.jid}</a>"
end
end
describe Sidekiq::Web do describe Sidekiq::Web do
include Rack::Test::Methods include Rack::Test::Methods
@ -271,10 +277,21 @@ describe Sidekiq::Web do
assert_match(/HardJob/, last_response.body) assert_match(/HardJob/, last_response.body)
end end
it "displays custom job info" do
Sidekiq::Web.custom_job_info_rows << LogDisplayer.new
params = add_retry
get "/retries/#{job_params(*params)}"
assert_equal 200, last_response.status
assert_match(/https:\/\/example.com\/logs\//, last_response.body)
ensure
Sidekiq::Web.custom_job_info_rows.clear
end
it "can display a single retry" do it "can display a single retry" do
params = add_retry params = add_retry
get "/retries/0-shouldntexist" get "/retries/0-shouldntexist"
assert_equal 302, last_response.status assert_equal 302, last_response.status
get "/retries/#{job_params(*params)}" get "/retries/#{job_params(*params)}"
assert_equal 200, last_response.status assert_equal 200, last_response.status
assert_match(/HardJob/, last_response.body) assert_match(/HardJob/, last_response.body)

View file

@ -92,11 +92,11 @@
<td><%= relative_time(job.at) if job['retry_count'] %></td> <td><%= relative_time(job.at) if job['retry_count'] %></td>
</tr> </tr>
<% end %> <% end %>
<% Sidekiq::Web.custom_job_info_rows.each do |processor| %> <% Sidekiq::Web.custom_job_info_rows.each do |helper| %>
<% if processor.show_row(job) %> <% helper.add_pair(job) do |name, value| %>
<tr> <tr>
<th><%= processor.row_name %></th> <th><%= name %></th>
<td><%= processor.row_contents(job) %></td> <td><%= value %></td>
</tr> </tr>
<% end %> <% end %>
<% end %> <% end %>