Projeto 14 - Processamento Assíncrono com Filas ⚡
Objetivo: Mover uma tarefa demorada (envio de notificação) para uma fila, evitando travar a resposta da API.
O Desafio
- Configure o driver de fila (
QUEUE_CONNECTION=databaseouredis) e rode as migrations de filas. - Crie um Job
EnviarNotificacaoTransacaoque simula o envio de um e-mail, usandosleep(3)para representar latência. - Dispare o Job ao criar uma nova transação, com
EnviarNotificacaoTransacao::dispatch($transacao). - Rode o worker (
php artisan queue:work) e confirme que a API responde imediatamente, enquanto o Job processa em segundo plano.
O que entregar?
- Código do Job e do ponto de disparo (
dispatch). - Print do terminal com o worker processando o Job.
- Comparação (print ou tabela) do tempo de resposta da API com e sem o uso da fila.