Do not cancel PuSH subscriptions after encountering "permanent" error… (#3046)

* Do not cancel PuSH subscriptions after encountering "permanent" error response

After talking with MMN about it, turns out some servers/php setups do
return 4xx errors while rebooting, so this anti-feature that was meant
to take load off of the hub is doing more harm than good in terms of
breaking subscriptions

* Update delivery_worker.rb
This commit is contained in:
Eugen Rochko
2017-05-14 03:22:48 +02:00
committed by GitHub
parent fd03a3d957
commit 657496b5a9
2 changed files with 3 additions and 20 deletions

View File

@ -23,13 +23,9 @@ class Pubsubhubbub::DeliveryWorker
def process_delivery
payload_delivery
if response_successful?
subscription.touch(:last_successful_delivery_at)
elsif response_failed_permanently?
subscription.destroy!
else
raise "Delivery failed for #{subscription.callback_url}: HTTP #{payload_delivery.code}"
end
raise "Delivery failed for #{subscription.callback_url}: HTTP #{payload_delivery.code}" unless response_successful?
subscription.touch(:last_successful_delivery_at)
end
def payload_delivery
@ -82,10 +78,6 @@ class Pubsubhubbub::DeliveryWorker
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), subscription.secret, payload)
end
def response_failed_permanently?
payload_delivery.code > 299 && payload_delivery.code < 500 && payload_delivery.code != 429
end
def response_successful?
payload_delivery.code > 199 && payload_delivery.code < 300
end