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

Polish job tags with Sidekiq Pro filtering support

This commit is contained in:
Mike Perham 2019-09-23 14:52:15 -07:00
parent c428383523
commit 7864fdbeb3
9 changed files with 31 additions and 24 deletions

View file

@ -5,14 +5,15 @@
HEAD HEAD
--------- ---------
- Support ad-hoc job tags. You can tag your jobs with, for example, subdomain, tenant, country, locale, application, - Support ad-hoc job tags. You can tag your jobs with, e.g, subdomain, tenant, country,
version, user/client, "alpha/beta/pro/ent", types of jobs, teams/people responsible for jobs, locale, application, version, user/client, "alpha/beta/pro/ent", types of jobs,
additional metadata, etc. teams/people responsible for jobs, additional metadata, etc.
Tags are shown on different pages with job listings [fatkodima, #4280] Tags are shown on different pages with job listings. Sidekiq Pro users
can filter based on them [fatkodima, #4280]
```ruby ```ruby
class MyWorker class MyWorker
include Sidekiq::Worker include Sidekiq::Worker
sidekiq_options tags: ['foo', 'bar'] sidekiq_options tags: ['bank-ops', 'alpha']
... ...
end end
``` ```

View file

@ -115,6 +115,12 @@ module Sidekiq
end end
end end
def display_tags(job)
job.tags.map { |tag|
"<span class='jobtag label label-info'>#{::Rack::Utils.escape_html(tag)}</span>"
}.join(" ")
end
# mperham/sidekiq#3243 # mperham/sidekiq#3243
def unfiltered? def unfiltered?
yield unless env["PATH_INFO"].start_with?("/filter/") yield unless env["PATH_INFO"].start_with?("/filter/")

View file

@ -201,6 +201,15 @@ td form {
padding: 0; padding: 0;
} }
.jobtag a {
color: white;
}
.jobtag a:hover {
color: white;
text-decoration: underline;
}
table .table-checkbox label { table .table-checkbox label {
height: 100%; height: 100%;
width: 100%; width: 100%;

View file

@ -14,12 +14,8 @@
<tr> <tr>
<th><%= t('Job') %></th> <th><%= t('Job') %></th>
<td> <td>
<code>
<%= job.display_class %> <%= job.display_class %>
<% job.tags.each do |tag| %> <%= display_tags(job) %>
<span class="label label-info"><%= tag %></span>
<% end %>
</code>
</td> </td>
</tr> </tr>
<tr> <tr>

View file

@ -89,9 +89,7 @@
</td> </td>
<td> <td>
<%= job.display_class %> <%= job.display_class %>
<% job.tags.each do |tag| %> <%= display_tags(job, nil) %>
<span class="label label-info"><%= tag %></span>
<% end %>
</td> </td>
<td> <td>
<div class="args"><%= display_args(job.display_args) %></div> <div class="args"><%= display_args(job.display_args) %></div>

View file

@ -44,9 +44,7 @@
</td> </td>
<td> <td>
<%= entry.display_class %> <%= entry.display_class %>
<% entry.tags.each do |tag| %> <%= display_tags(entry, "morgue") %>
<span class="label label-info"><%= tag %></span>
<% end %>
</td> </td>
<td> <td>
<div class="args"><%= display_args(entry.display_args) %></div> <div class="args"><%= display_args(entry.display_args) %></div>

View file

@ -29,9 +29,7 @@
<% end %> <% end %>
<td> <td>
<%= h(msg.display_class) %> <%= h(msg.display_class) %>
<% msg.tags.each do |tag| %> <%= display_tags(msg, nil) %>
<span class="label label-info"><%= tag %></span>
<% end %>
</td> </td>
<td> <td>
<% a = msg.display_args %> <% a = msg.display_args %>

View file

@ -44,7 +44,10 @@
<td> <td>
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a> <a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
</td> </td>
<td><%= entry.display_class %></td> <td>
<%= entry.display_class %>
<%= display_tags(entry, "retries") %>
</td>
<td> <td>
<div class="args"><%= display_args(entry.display_args) %></div> <div class="args"><%= display_args(entry.display_args) %></div>
</td> </td>

View file

@ -40,9 +40,7 @@
</td> </td>
<td> <td>
<%= entry.display_class %> <%= entry.display_class %>
<% entry.tags.each do |tag| %> <%= display_tags(entry, "scheduled") %>
<span class="label label-info"><%= tag %></span>
<% end %>
</td> </td>
<td> <td>
<div class="args"><%= display_args(entry.display_args) %></div> <div class="args"><%= display_args(entry.display_args) %></div>