From f02d422b6af23d3bac4485249277daa50d80f444 Mon Sep 17 00:00:00 2001 From: mbronek7 Date: Mon, 6 Jan 2020 18:02:41 +0100 Subject: [PATCH] Move ActionCable Broadcast Calls to sidekiq #154 (#403) * Move Pusher Calls to sidekiq * CR changes Co-authored-by: Sojan Jose --- app/jobs/action_cable_broadcast_job.rb | 9 +++++++++ app/listeners/action_cable_listener.rb | 6 ++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 app/jobs/action_cable_broadcast_job.rb diff --git a/app/jobs/action_cable_broadcast_job.rb b/app/jobs/action_cable_broadcast_job.rb new file mode 100644 index 000000000..5199cc771 --- /dev/null +++ b/app/jobs/action_cable_broadcast_job.rb @@ -0,0 +1,9 @@ +class ActionCableBroadcastJob < ApplicationJob + queue_as :default + + def perform(members, event_name, data) + members.each do |member| + ActionCable.server.broadcast(member, event: event_name, data: data) + end + end +end diff --git a/app/listeners/action_cable_listener.rb b/app/listeners/action_cable_listener.rb index de0aab116..ca79ceba3 100644 --- a/app/listeners/action_cable_listener.rb +++ b/app/listeners/action_cable_listener.rb @@ -45,9 +45,7 @@ class ActionCableListener < BaseListener def send_to_members(members, event_name, data) return if members.blank? - members.each do |member| - ActionCable.server.broadcast(member, event: event_name, data: data) - end + ::ActionCableBroadcastJob.perform_later(members, event_name, data) end def send_to_contact(contact, event_name, message) @@ -55,7 +53,7 @@ class ActionCableListener < BaseListener return if message.activity? return if contact.nil? - ActionCable.server.broadcast(contact.pubsub_token, event: event_name, data: message.push_event_data) + ::ActionCableBroadcastJob.perform_later([contact.pubsub_token], event_name, message.push_event_data) end def push(pubsub_token, data)