diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-29 03:16:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-29 03:16:20 +0200 |
commit | f4ca116ea8f86057e91c99a1cd8e64e116c86746 (patch) | |
tree | c00b43d66305d5eac1e6f886d0aaab8fe94e2ec0 /app/workers | |
parent | 5b45c1646aa324d2eb4a3ecb8c12ed4df3cdf129 (diff) |
After 7 days of repeated delivery failures, give up on inbox (#5131)
- A successful delivery cancels it out - An incoming delivery from account of the inbox cancels it out
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/activitypub/delivery_worker.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/app/workers/activitypub/delivery_worker.rb b/app/workers/activitypub/delivery_worker.rb index 059c32813..7510b1739 100644 --- a/app/workers/activitypub/delivery_worker.rb +++ b/app/workers/activitypub/delivery_worker.rb @@ -15,7 +15,10 @@ class ActivityPub::DeliveryWorker perform_request raise Mastodon::UnexpectedResponseError, @response unless response_successful? + + failure_tracker.track_success! rescue => e + failure_tracker.track_failure! raise e.class, "Delivery failed for #{inbox_url}: #{e.message}", e.backtrace[0] end @@ -34,4 +37,8 @@ class ActivityPub::DeliveryWorker def response_successful? @response.code > 199 && @response.code < 300 end + + def failure_tracker + @failure_tracker ||= DeliveryFailureTracker.new(@inbox_url) + end end |