~/beer-and-code
~ / eventos / workshop-filas-no-laravel $ _
Workshop Encerrado

Workshop: Filas no Laravel

Workshop pratico sobre filas no Laravel, o ultimo da temporada 2024 do BrainCode: da configuracao basica ate os detalhes finos que resolvem problema real em producao. Feito para quem ja usa Laravel mas ainda tem duvida na hora de decidir qual driver usar, como...

Ficha do evento
formato workshop
quando 18 Dez 2024
horário 19h às 22h
status encerrado

Foi o ultimo workshop do ano do BrainCode, comandado por Lucas Souza (Virgao) com participacao do Danilo Sampaio, focado 100% em filas no Laravel — o tema que, segundo os proprios instrutores, mais gera duvida de configuracao na comunidade. Clima de aula pratica, com codigo sendo escrito ao vivo, bugs de demonstracao sendo debugados na hora e perguntas da plateia respondidas em tempo real, incluindo um caso real de concorrencia em sistema de triagem hospitalar.

Destaques

  • Conceitos base: diferenca entre connection (config/queue.php), fila (a pilha dentro da conexao) e driver (o mecanismo que processa — sync, database, redis, sqs).
  • Criacao de job com php artisan make:job, disparo com ExampleJob::dispatch() e execucao com php artisan queue:work (e queue:listen para hot-reload em dev).
  • Configuracao completa do driver SQS ao vivo: criacao da fila na AWS, usuario IAM com policy de acesso, chaves de acesso, variaveis de ambiente (SQS_PREFIX, SQS_SUFFIX, regiao) e instalacao do aws/aws-sdk-php.
  • Comparativo tecnico Redis vs SQS: Redis e generico (serve tambem pra cache) e exige gerenciamento manual (Horizon/Telescope); SQS e servico dedicado com monitoramento, seguranca e escalabilidade prontos, e extremamente barato (primeiro milhao de requisicoes gratis, depois centavos de dolar por milhao).
  • Modificadores de job na pratica: ShouldBeUnique (com uniqueId()), ShouldBeUnique::until processing, ShouldBeEncrypted para dados sensiveis, WithoutOverlapping, RateLimited (limiter customizado no AppServiceProvider), Skip condicional e dispatchSync para forcar execucao sincrona.
  • Encadeamento de jobs com Bus::chain([...]) para garantir ordem de execucao assincrona (ex: processar pagamento antes de notificar CRM), incluindo como interromper a cadeia com $this->fail().
  • Middleware de job (app/Jobs/Middleware) para logica reutilizavel tipo throttling, e dispatchAfterResponse como alternativa "semi-sincrona" sem fila de verdade (exige PHP-FPM/FastCGI).
  • Tratamento de falhas: $tries, $maxExceptions, release() com delay, fail() explicito, e configuracao de producao com Supervisor (autostart, autorestart, numprocs) — inclusive o cuidado de nao usar timeout quando ha jobs legitimamente longos.
  • Estrategia de filas por prioridade (--queue=high,low) seguindo a convencao do proprio Laravel.

Profundidade tecnica

A aula foi alem do "como disparar um job": entrou em armadilhas reais, como a serializacao de Eloquent models em jobs — se o registro for deletado entre o dispatch e o processamento, o find() na desserializacao quebra, e a recomendacao pratica foi passar toArray() ou tratar a exception de model not found. Tambem foi discutida a diferenca entre tries (tentativas por falha tratada ou release()) e maxExceptions (tentativas por excecao nao tratada), e o motivo de configurar autostart/autorestart no Supervisor mesmo sabendo que fatal errors derrubam o worker. A comparacao Redis vs SQS foi feita com numeros de custo reais e trade-offs de operacao, nao so teoria.

Faça parte do Clã

Se voce quer esse tipo de profundidade tecnica aplicada direto no seu dia a dia — sem enrolacao, sem hype, com metodo testado em projeto real — o Clã Beer and Code e o caminho. La voce tem acesso a encontros como esse, mentoria tecnica continua e uma comunidade que troca ideia de verdade sobre o que funciona em producao.

▪ Clã Beer and Code
Faça parte do Clã. Construa o que importa.

Engenharia de IA virou profissão, e se aprende construindo, não assistindo. O Clã Beer and Code é o ambiente onde isso acontece ao vivo, toda semana: RAG, agentes, observabilidade e LLMOps em projetos reais, ao lado de quem já está em produção. É pago, é assinatura, e é exatamente o ambiente que estes encontros dão uma amostra.

Entrar no Clã
tocando