You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- # 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
|