Skip to Content Skip to Search

Not able to use ActiveJob here either. As this job is being used in a Sidekiq::Batch

Methods
P
Included Modules

Instance Public methods

perform(broadcast_id, page)

# File app/jobs/broadcasts/email_slice_job.rb, line 8
def perform(broadcast_id, page)
  broadcast = Broadcast.find(broadcast_id)
  site = broadcast.site
  members = broadcast.eligible_recipients.page(page).per(Broadcast.batch_size)

  client = Postmark::ApiClient.new(site.postmark_server_api_token)

  messages = members.find_each.lazy.map do |recipient|
    BroadcastMailer.send_broadcast(recipient:, broadcast:)
  end

  client.deliver_messages(messages.to_a) if messages.any?
end