Arquitetura de Filas com Laravel e Redis para Processamento Assíncrono de Alto Volume

Em sistemas web e plataformas SaaS de alto volume, operações pesadas como envio de e-mails, emissão de NFe, comunicação com gateways e geração de relatórios jamais devem travar a requisição HTTP do usuário.

Como Implementar Workers Resilientes no Laravel 11

O Laravel oferece um ecossistema nativo de filas impecável quando combinado com Redis e Laravel Horizon.

1. Configuração do Driver Redis no config/queue.php

'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
    'queue' => env('REDIS_QUEUE', 'default'),
    'retry_after' => 90,
    'block_for' => null,
    'after_commit' => true, // Garante que a transação do banco fechou antes de despachar o job
],

2. Despachando Jobs Assíncronos com Tratamento de Falhas

namespace AppJobs;

use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateQueueInteractsWithQueue;
use IlluminateQueueSerializesModels;

class ProcessPaymentWebhook implements ShouldQueue
{
    use InteractsWithQueue, Queueable, SerializesModels;

    public $tries = 3;
    public $backoff = [10, 30, 60]; // Retry exponencial

    public function handle(PaymentService $service): void
    {
        $service->settleTransaction($this->payload);
    }
}
Construindo um SaaS ou sistema robusto em Laravel?
Veja como atendo em arquitetura e código sênior na página de Desenvolvimento Laravel Sob Medida.
Fale comigo no WhatsApp