catstodon/app/workers/distribution_worker.rb
Eugen Rochko 6cf57c6765
Refactor how Redis locks are created (#18400)
* Refactor how Redis locks are created

* Fix autorelease duration on account deletion lock
2022-05-13 00:02:35 +02:00

15 lines
356 B
Ruby

# frozen_string_literal: true
class DistributionWorker
include Sidekiq::Worker
include Redisable
include Lockable
def perform(status_id, options = {})
with_lock("distribute:#{status_id}") do
FanOutOnWriteService.new.call(Status.find(status_id), **options.symbolize_keys)
end
rescue ActiveRecord::RecordNotFound
true
end
end