aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClworld <clworld@ggtea.org>2017-07-27 07:38:20 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-07-27 00:38:20 +0200
commit994d948c3947b75140c2a2a7de5b81713c7b8ea3 (patch)
tree525360503ce6a7db4ac7b522c58d2de8046d8a97
parentf5e228ad2e2503d7cbe3da975e7d2b473e60712b (diff)
downloadmastodon-994d948c3947b75140c2a2a7de5b81713c7b8ea3.tar
mastodon-994d948c3947b75140c2a2a7de5b81713c7b8ea3.tar.gz
mastodon-994d948c3947b75140c2a2a7de5b81713c7b8ea3.tar.bz2
mastodon-994d948c3947b75140c2a2a7de5b81713c7b8ea3.zip
Add callback_url/acct information for Sidekiq PuSH workers Exception. (#4281)
* Add destination informations to exception on SubscribeWorker and DeliveryWorker. * Simplify delivery error message. * Prevent changing Exception type... * fix typo.
-rw-r--r--app/lib/exceptions.rb10
-rw-r--r--app/workers/pubsubhubbub/delivery_worker.rb2
-rw-r--r--app/workers/pubsubhubbub/subscribe_worker.rb2
3 files changed, 9 insertions, 5 deletions
diff --git a/app/lib/exceptions.rb b/app/lib/exceptions.rb
index 34d84a34f..b2489711d 100644
--- a/app/lib/exceptions.rb
+++ b/app/lib/exceptions.rb
@@ -8,11 +8,11 @@ module Mastodon
class UnexpectedResponseError < Error
def initialize(response = nil)
- @response = response
- end
-
- def to_s
- "#{@response.uri} returned code #{@response.code}"
+ if response.respond_to? :uri
+ super("#{response.uri} returned code #{response.code}")
+ else
+ super
+ end
end
end
end
diff --git a/app/workers/pubsubhubbub/delivery_worker.rb b/app/workers/pubsubhubbub/delivery_worker.rb
index 035a59048..88645cf33 100644
--- a/app/workers/pubsubhubbub/delivery_worker.rb
+++ b/app/workers/pubsubhubbub/delivery_worker.rb
@@ -16,6 +16,8 @@ class Pubsubhubbub::DeliveryWorker
@subscription = Subscription.find(subscription_id)
@payload = payload
process_delivery unless blocked_domain?
+ rescue => e
+ raise e.class, "Delivery failed for #{subscription&.callback_url}: #{e.message}"
end
private
diff --git a/app/workers/pubsubhubbub/subscribe_worker.rb b/app/workers/pubsubhubbub/subscribe_worker.rb
index 6865e7136..9178079d4 100644
--- a/app/workers/pubsubhubbub/subscribe_worker.rb
+++ b/app/workers/pubsubhubbub/subscribe_worker.rb
@@ -22,5 +22,7 @@ class Pubsubhubbub::SubscribeWorker
account = Account.find(account_id)
logger.debug "PuSH re-subscribing to #{account.acct}"
::SubscribeService.new.call(account)
+ rescue => e
+ raise e.class, "Subscribe failed for #{account&.acct}: #{e.message}"
end
end