about summary refs log tree commit diff
path: root/app/workers
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2021-05-05 23:46:59 +0200
committerGitHub <noreply@github.com>2021-05-05 23:46:59 +0200
commit6d9ad30bf861b2422c5951f7593a657675fedc24 (patch)
tree9c11fe1743a591cb7914211b6524eee74676dd68 /app/workers
parentaa1b43f46786ad23098159f1210b1811c64de72a (diff)
Fix media redownload worker retrying on unexpected response codes (#16111)
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/redownload_media_worker.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/app/workers/redownload_media_worker.rb b/app/workers/redownload_media_worker.rb
index 0638cd0f0..343caa32c 100644
--- a/app/workers/redownload_media_worker.rb
+++ b/app/workers/redownload_media_worker.rb
@@ -3,6 +3,7 @@
 class RedownloadMediaWorker
   include Sidekiq::Worker
   include ExponentialBackoff
+  include JsonLdHelper
 
   sidekiq_options queue: 'pull', retry: 3
 
@@ -15,6 +16,14 @@ class RedownloadMediaWorker
     media_attachment.download_thumbnail!
     media_attachment.save
   rescue ActiveRecord::RecordNotFound
-    true
+    # Do nothing
+  rescue Mastodon::UnexpectedResponseError => e
+    response = e.response
+
+    if response_error_unsalvageable?(response)
+      # Give up
+    else
+      raise e
+    end
   end
 end