Skip to main content

background_delivery_active_job

🚀 Send Emails Asynchronously with Active Job​

Avoid blocking your request-response cycle by sending emails in the background. Use deliver_later to enqueue email delivery through Active Job adapters like Sidekiq or Resque.

# app/controllers/orders_controller.rb
class OrdersController < ApplicationController
def create
@order = Order.create(order_params)
OrderMailer.confirmation(@order).deliver_later(queue: :mailers)
redirect_to @order, notice: 'Order placed. Confirmation email is on its way!'
end
end

Configure your queue adapter in config/environments/production.rb:

config.active_job.queue_adapter = :sidekiq