Raise Mastodon::RaceConditionError if Redis lock failed (#7511)

An explicit error allows user agents to know the error and Sidekiq to
retry.
This commit is contained in:
Akihiko Odaki
2018-05-16 19:29:45 +09:00
committed by Eugen Rochko
parent 65d6b253fb
commit 55fd55714a
6 changed files with 12 additions and 0 deletions

View File

@ -23,6 +23,8 @@ class ActivityPub::ProcessAccountService < BaseService
create_account if @account.nil?
update_account
process_tags
else
raise Mastodon::RaceConditionError
end
end

View File

@ -23,6 +23,8 @@ class FetchLinkCardService < BaseService
if lock.acquired?
@card = PreviewCard.find_by(url: @url)
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago
else
raise Mastodon::RaceConditionError
end
end

View File

@ -49,6 +49,8 @@ class ResolveAccountService < BaseService
else
handle_ostatus
end
else
raise Mastodon::RaceConditionError
end
end