From 9014367bd87e07941134259d87f4d2c327ff37d4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 31 Mar 2020 21:59:03 +0200 Subject: Fix background jobs not using locks like they are supposed to (#13361) Also: - Fix locks not being removed when jobs go to the dead job queue - Add UI for managing locks to the Sidekiq dashboard - Remove unused Sidekiq workers Fix #13349 --- config/initializers/sidekiq.rb | 5 +++++ config/routes.rb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'config') diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 288453a04..f2733562f 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -13,6 +13,11 @@ Sidekiq.configure_server do |config| config.server_middleware do |chain| chain.add SidekiqErrorHandler end + + config.death_handlers << lambda do |job, _ex| + digest = job['lock_digest'] + SidekiqUniqueJobs::Digests.delete_by_digest(digest) if digest + end end Sidekiq.configure_client do |config| diff --git a/config/routes.rb b/config/routes.rb index 89d446d10..49ab851e2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'sidekiq/web' +require 'sidekiq_unique_jobs/web' require 'sidekiq-scheduler/web' Sidekiq::Web.set :session_secret, Rails.application.secrets[:secret_key_base] -- cgit