diff --git a/lib/postzord/dispatch.rb b/lib/postzord/dispatch.rb index 3950f6106..dae272ef7 100644 --- a/lib/postzord/dispatch.rb +++ b/lib/postzord/dispatch.rb @@ -45,6 +45,17 @@ class Postzord::Dispatch def deliver_to_local(people) return if people.blank? + if @object.is_a?(Post) + batch_deliver_to_local(people) + else + people.each do |person| + Rails.logger.info("event=push route=local sender=#{@sender_person.diaspora_handle} recipient=#{person.diaspora_handle} payload_type=#{@object.class}") + Resque.enqueue(Job::Receive, person.owner_id, @xml, @sender_person.id) + end + end + end + + def batch_deliver_to_local(people) ids = people.map{ |p| p.owner_id } Resque.enqueue(Job::ReceiveLocalBatch, @object.id, ids) Rails.logger.info("event=push route=local sender=#{@sender_person.diaspora_handle} recipients=#{ids.join(',')} payload_type=#{@object.class}")