# frozen_string_literal: true class DistributionWorker include Sidekiq::Worker def perform(status_id) RedisLock.acquire(redis: Redis.current, key: "distribute:#{status_id}") do |lock| if lock.acquired? FanOutOnWriteService.new.call(Status.find(status_id)) else raise Mastodon::RaceConditionError end end rescue ActiveRecord::RecordNotFound true end end