commit: 778562c223844226a52198100dc081811bdd9d35
parent 9e45b051cfea667f9ca3d3c72d13022259315090
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Fri, 13 Apr 2018 01:27:22 +0200
Ensure SynchronizeFeaturedCollectionWorker is unique and clean up (#7043)
* Ensure SynchronizeFeaturedCollectionWorker is unique and clean up
Fix #7041
* Fix code style issue
Diffstat:
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb
@@ -22,13 +22,15 @@ class ActivityPub::ProcessAccountService < BaseService
create_account if @account.nil?
update_account
- process_tags(@account)
+ process_tags
end
end
+ return if @account.nil?
+
after_protocol_change! if protocol_changed?
after_key_change! if key_changed?
- check_featured_collection! if @account&.featured_collection_url&.present?
+ check_featured_collection! if @account.featured_collection_url.present?
@account
rescue Oj::ParseError
@@ -189,17 +191,18 @@ class ActivityPub::ProcessAccountService < BaseService
{ redis: Redis.current, key: "process_account:#{@uri}" }
end
- def process_tags(account)
+ def process_tags
return if @json['tag'].blank?
+
as_array(@json['tag']).each do |tag|
case tag['type']
when 'Emoji'
- process_emoji tag, account
+ process_emoji tag
end
end
end
- def process_emoji(tag, _account)
+ def process_emoji(tag)
return if skip_download?
return if tag['name'].blank? || tag['icon'].blank? || tag['icon']['url'].blank?
diff --git a/app/workers/activitypub/synchronize_featured_collection_worker.rb b/app/workers/activitypub/synchronize_featured_collection_worker.rb
@@ -3,7 +3,7 @@
class ActivityPub::SynchronizeFeaturedCollectionWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull'
+ sidekiq_options queue: 'pull', unique: :until_executed
def perform(account_id)
ActivityPub::FetchFeaturedCollectionService.new.call(Account.find(account_id))