diff --git a/app/workers/backup_worker.rb b/app/workers/backup_worker.rb
index ec6db4e9e3fae53fb7123ef8f53f45dc18fc8fc2..e4c609d70675768f4f639ca1894df0420f0279ca 100644
--- a/app/workers/backup_worker.rb
+++ b/app/workers/backup_worker.rb
@@ -3,7 +3,16 @@
 class BackupWorker
   include Sidekiq::Worker
 
-  sidekiq_options queue: 'pull'
+  sidekiq_options queue: 'pull', backtrace: true, retry: 5, dead: false
+
+  sidekiq_retries_exhausted do |msg|
+    backup_id = msg['args'].first
+
+    ActiveRecord::Base.connection_pool.with_connection do
+      backup = Backup.find(backup_id)
+      backup&.destroy
+    end
+  end
 
   def perform(backup_id)
     backup = Backup.find(backup_id)