diff options
Diffstat (limited to 'app/workers/distribution_worker.rb')
-rw-r--r-- | app/workers/distribution_worker.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/app/workers/distribution_worker.rb b/app/workers/distribution_worker.rb index 049d2732b..f454f7108 100644 --- a/app/workers/distribution_worker.rb +++ b/app/workers/distribution_worker.rb @@ -3,11 +3,12 @@ class DistributionWorker include Sidekiq::Worker - def perform(status_id, only_to_self = false) + def perform(status_id, only_to_self = false, only_to_tavern = false) RedisLock.acquire(redis: Redis.current, key: "distribute:#{status_id}") do |lock| if lock.acquired? status = Status.find(status_id) - FanOutOnWriteService.new.call(status, only_to_self: !status.published? || only_to_self || !status.notify?) + only_to_self ||= !(status.published? || status.notify?) + FanOutOnWriteService.new.call(status, only_to_self: only_to_self, only_to_tavern: only_to_tavern) else raise Mastodon::RaceConditionError end |