diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-08-21 01:14:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-21 01:14:40 +0200 |
commit | 6e9eda53319bc970b085c7c55277981320b2a835 (patch) | |
tree | 443d418cf97adb66b330a8c6f2a809583db8b756 /app/workers/pubsubhubbub | |
parent | 4c23544714c05258af8feab50da243039ddbefb6 (diff) |
ActivityPub migration procedure (#4617)
* ActivityPub migration procedure Once one account is detected as going from OStatus to ActivityPub, invalidate WebFinger cache for other accounts from the same domain * Unsubscribe from PuSH updates once we receive an ActivityPub payload * Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
Diffstat (limited to 'app/workers/pubsubhubbub')
-rw-r--r-- | app/workers/pubsubhubbub/unsubscribe_worker.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app/workers/pubsubhubbub/unsubscribe_worker.rb b/app/workers/pubsubhubbub/unsubscribe_worker.rb new file mode 100644 index 000000000..a271715b7 --- /dev/null +++ b/app/workers/pubsubhubbub/unsubscribe_worker.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class Pubsubhubbub::UnsubscribeWorker + include Sidekiq::Worker + + sidekiq_options queue: 'push', retry: false, unique: :until_executed, dead: false + + def perform(account_id) + account = Account.find(account_id) + logger.debug "PuSH unsubscribing from #{account.acct}" + ::UnsubscribeService.new.call(account) + rescue ActiveRecord::RecordNotFound + true + end +end |