From ed738b38378468c453ce6e964202b75b00f86dfa Mon Sep 17 00:00:00 2001 From: Frances McMullin Date: Tue, 26 Mar 2024 15:21:56 +0000 Subject: [PATCH] Improve expiring locks display with filtering and pagination --- lib/sidekiq_unique_jobs/web.rb | 4 +- .../web/views/expiring_locks.erb | 59 +++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 lib/sidekiq_unique_jobs/web/views/expiring_locks.erb diff --git a/lib/sidekiq_unique_jobs/web.rb b/lib/sidekiq_unique_jobs/web.rb index fc3cda7d..1203e54c 100644 --- a/lib/sidekiq_unique_jobs/web.rb +++ b/lib/sidekiq_unique_jobs/web.rb @@ -61,12 +61,12 @@ def self.registered(app) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize page_size: @count, ) - erb(unique_template(:locks)) + erb(unique_template(:expiring_locks)) end app.get "/locks/delete_all" do digests.delete_by_pattern("*", count: digests.count) - expiring_digests.delete_by_pattern("*", count: digests.count) + expiring_digests.delete_by_pattern("*", count: expiring_digests.count) redirect_to :locks end diff --git a/lib/sidekiq_unique_jobs/web/views/expiring_locks.erb b/lib/sidekiq_unique_jobs/web/views/expiring_locks.erb new file mode 100644 index 00000000..9eab92e2 --- /dev/null +++ b/lib/sidekiq_unique_jobs/web/views/expiring_locks.erb @@ -0,0 +1,59 @@ +
+
+

+ <%= t('Locks') %> +

+
+
+ <%= csrf_tag %> + + + + +
+ + <% if @locks.any? && @total_size > @count %> +
+ <%= erb unique_template(:_paging), locals: { url: "#{root_path}expiring_locks" } %> +
+ <% end %> +
+ +<% if @locks.any? %> +
+ + + + + + + + + + + <% @locks.each do |lock| %> + + + + + + + + + + <% end %> +
<%= t('Delete') %><%= t('Digest') %><%= t('Lock') %><%= t('Locks') %><%= t('Since') %>
+
+ <%= csrf_tag %> + + +
+
<%= lock.key %><%= lock.info["lock"] %><%= lock.locked.count %><%= _safe_relative_time(lock.created_at) %>
+ +
+ +
+
+<% end %>