OStatus2 and Goldfinger gems now have timeouts for requests
parent
059ebbf48d
commit
1cfc9aa20e
|
@ -106,7 +106,7 @@ GEM
|
||||||
ruby-progressbar (~> 1.4)
|
ruby-progressbar (~> 1.4)
|
||||||
globalid (0.3.7)
|
globalid (0.3.7)
|
||||||
activesupport (>= 4.1.0)
|
activesupport (>= 4.1.0)
|
||||||
goldfinger (1.0.2)
|
goldfinger (1.0.3)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
http (~> 1.0)
|
http (~> 1.0)
|
||||||
nokogiri (~> 1.6)
|
nokogiri (~> 1.6)
|
||||||
|
@ -171,7 +171,7 @@ GEM
|
||||||
pkg-config (~> 1.1.7)
|
pkg-config (~> 1.1.7)
|
||||||
oj (2.17.3)
|
oj (2.17.3)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
ostatus2 (0.2)
|
ostatus2 (0.2.1)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
http (~> 1.0)
|
http (~> 1.0)
|
||||||
nokogiri (~> 1.6)
|
nokogiri (~> 1.6)
|
||||||
|
|
|
@ -82,7 +82,7 @@ class Account < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def subscription(webhook_url)
|
def subscription(webhook_url)
|
||||||
@subscription ||= OStatus2::Subscription.new(self.remote_url, secret: self.secret, token: self.verify_token, webhook: webhook_url, hub: self.hub_url)
|
OStatus2::Subscription.new(self.remote_url, secret: self.secret, token: self.verify_token, webhook: webhook_url, hub: self.hub_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
def ping!(atom_url, hubs)
|
def ping!(atom_url, hubs)
|
||||||
|
|
|
@ -12,7 +12,11 @@ namespace :mastodon do
|
||||||
desc 'Unsubscribes from PuSH updates of feeds nobody follows locally'
|
desc 'Unsubscribes from PuSH updates of feeds nobody follows locally'
|
||||||
task clear: :environment do
|
task clear: :environment do
|
||||||
Account.remote.without_followers.find_each do |a|
|
Account.remote.without_followers.find_each do |a|
|
||||||
|
Rails.logger.debug "PuSH unsubscribing from #{a.acct}"
|
||||||
a.subscription('').unsubscribe
|
a.subscription('').unsubscribe
|
||||||
|
rescue HTTP::Error, OpenSSL::SSL::SSLError
|
||||||
|
Rails.logger.debug "PuSH unsubscribing from #{a.acct} failed due to an HTTP or SSL error"
|
||||||
|
ensure
|
||||||
a.update!(verify_token: '', secret: '', subscription_expires_at: nil)
|
a.update!(verify_token: '', secret: '', subscription_expires_at: nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -20,6 +24,7 @@ namespace :mastodon do
|
||||||
desc 'Re-subscribes to soon expiring PuSH subscriptions'
|
desc 'Re-subscribes to soon expiring PuSH subscriptions'
|
||||||
task refresh: :environment do
|
task refresh: :environment do
|
||||||
Account.expiring(1.day.from_now).find_each do |a|
|
Account.expiring(1.day.from_now).find_each do |a|
|
||||||
|
Rails.logger.debug "PuSH re-subscribing to #{a.acct}"
|
||||||
SubscribeService.new.(a)
|
SubscribeService.new.(a)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue