Fix Move handler not being triggered when failing to fetch target (#15107)

When failing to fetch the target account, the ProcessingWorker fails
as expected, but since it hasn't cleared the `move_in_progress` flag,
the next attempt at processing skips the `Move` activity altogether.

This commit changes it to clear the flag when encountering any
unexpected error on fetching the target account. This is likely to
occur because, of, e.g., a timeout, when many instances query the
same actor at the same time.
master
ThibG 4 years ago committed by GitHub
parent cc98f967b1
commit b0893291ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      app/lib/activitypub/activity/move.rb

@ -20,6 +20,9 @@ class ActivityPub::Activity::Move < ActivityPub::Activity
# Initiate a re-follow for each follower # Initiate a re-follow for each follower
MoveWorker.perform_async(origin_account.id, target_account.id) MoveWorker.perform_async(origin_account.id, target_account.id)
rescue
unmark_as_processing!
raise
end end
private private

Loading…
Cancel
Save