Active Job é um framework de gerenciamento de filas de tarefas no Ruby on Rails. Ele permite que você execute trabalhos em segundo plano de forma assíncrona. Isso é útil para tarefas que são demoradas ou não precisam ser concluídas imediatamente, como enviar emails, processar imagens ou interagir com APIs externas.
Cada tarefa é definida como um "job" e pode ser agendada para ser executada imediatamente ou em um momento futuro. Active Job fornece uma interface unificada para diferentes bibliotecas de filas de tarefas, conhecidas como "adapters". Isso significa que você pode trocar a implementação da fila (por exemplo, Sidekiq, Resque) sem modificar o código que define os trabalhos. Ele padroniza a criação, execução e resgate de falhas das tarefas agendadas.
Um exemplo básico de Active Job seria definir uma tarefa para enviar um email de boas-vindas sempre que um novo usuário se registra. O job para enviar o email é colocado em fila e processado em segundo plano, permitindo que a aplicação continue oferecendo uma experiência de usuário fluida e responsiva.