From 3eedad27375721aaaa6e8397124989e4ead771a9 Mon Sep 17 00:00:00 2001 From: takayamaki Date: Sun, 4 Jun 2017 07:11:15 +0900 Subject: change sidekiq queueing to bulk push (#3536) --- app/services/fan_out_on_write_service.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app/services') diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb index 055fda8a9..3b74696d5 100644 --- a/app/services/fan_out_on_write_service.rb +++ b/app/services/fan_out_on_write_service.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'sidekiq-bulk' + class FanOutOnWriteService < BaseService # Push a status into home and mentions feeds # @param [Status] status @@ -34,8 +36,10 @@ class FanOutOnWriteService < BaseService def deliver_to_followers(status) Rails.logger.debug "Delivering status #{status.id} to followers" - status.account.followers.where(domain: nil).joins(:user).where('users.current_sign_in_at > ?', 14.days.ago).select(:id).reorder(nil).find_each do |follower| - FeedInsertWorker.perform_async(status.id, follower.id) + status.account.followers.where(domain: nil).joins(:user).where('users.current_sign_in_at > ?', 14.days.ago).select(:id).reorder(nil).find_in_batches do |followers| + FeedInsertWorker.push_bulk(followers) do |follower| + [status.id, follower.id] + end end end -- cgit