💎 Ruby on Rails
Intermediate
What is a background job in Rails and how is it implemented?
Answer
Background jobs run long-running tasks asynchronously outside the request-response cycle (sending emails, processing files, calling external APIs). Rails provides ActiveJob as a framework-agnostic interface for queuing backends. Define: class WelcomeEmailJob < ApplicationJob; def perform(user); UserMailer.welcome(user).deliver_now; end; end. Enqueue: WelcomeEmailJob.perform_later(user). Popular queue adapters: Sidekiq (Redis-backed, fast, concurrent), Resque, DelayedJob (database-backed). Configure in config.active_job.queue_adapter = :sidekiq.