about summary refs log blame commit diff
path: root/app/workers/distribution_worker.rb
blob: 59cdbc7b25c6d0c84d97b1845d946e1d81592d13 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                             
                        
                         
                   
                  
 
                                      
                                                                                     
       
                                     
        
     
# 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