Перейти к содержимому

🐂 BullMQ na PRÁTICA: construa um SISTEMA RESILIENTE com filas em ERP e SaaS

skail

0:00 / 0:00

🐂 BullMQ na PRÁTICA: construa um SISTEMA RESILIENTE com filas em ERP e SaaS

71 просмотр · 6 дн. назад
skail
94 подписчика
71 просмотр · 6 дн. назад
Neste vídeo eu mato o worker do BullMQ no meio de um lote de 3.500 cobranças de assinatura e mostro como configurar retry, backoff, lock e chave de idempotência para ninguém ser cobrado duas vezes. O foco é quem desenvolve software B2B com filas em Node e Redis e precisa que o processamento continue de onde parou quando o contêiner cai. O cenário é um ERP SaaS que cobra todas as assinaturas no dia 1 do mês, com um gateway simulado que responde 503 em 20% das chamadas e recusa 12 cartões cancelados com erro 402. Monto tudo na minha máquina com Docker, ioredis e VS Code, reproduzo a cobrança duplicada de propósito e vou corrigindo a configuração até o lote terminar sem nenhuma duplicata. No final eu comparo com a mesma cobrança rodando em execução durável na skail, que já traz observabilidade nativa. Na demonstração você vai ver um worker que: ✅ Processa 3.500 cobranças em lote com concorrência 10 ✅ Sobrevive a um kill do contêiner e retoma o lote de onde parou ✅ Faz retry com exponential backoff quando o gateway responde 503 ✅ Manda direto para falha o cartão cancelado (402), sem tentar de novo ✅ Evita enfileirar a mesma cobrança duas vezes com job ID único ✅ Usa chave de idempotência no gateway para o replay não cobrar de novo ✅ Encerra com graceful shutdown ao receber SIGTERM, sem perder job ativo ✅ Revisa os ajustes de Redis que a fila exige em produção ✅ Roda a mesma cobrança com execução durável na skail, sem fila, sem Redis e com histórico completo de cada execução 👉 Quer ver o mesmo cenário em Sidekiq, Celery, Hangfire, Oban ou outra biblioteca de fila? Escreve nos comentários que eu leio e, se muita gente pedir, eu trago em vídeo. O exemplo usa Node e BullMQ, mas os conceitos de at-least-once, lock, idempotência e shutdown graceful valem para qualquer fila, e a skail funciona com sistemas escritos em qualquer linguagem. Se você desenvolve ERP, CRM, plataforma SaaS ou mantém um sistema legado com processamento em background, este vídeo mostra o que precisa estar configurado para a cobrança não duplicar. ⏱ Capítulos: 00:00 Introdução 00:37 Cobrança duplicada 03:50 O que é BullMQ 05:19 Estados do job 12:25 Ambiente no Docker 17:55 Matando o worker 20:06 Retry e backoff 24:53 Lock e stalled 30:34 Job ID e idempotência 33:56 Graceful shutdown 38:50 Redis em produção 40:30 Custo operacional 42:16 Execução durável 45:00 Monitor e debug 48:12 Encerramento 💬 Dúvidas/Sugestões/Críticas? Deixe seu comentário! Links Úteis: 🔗 Conheça a skail: https://skail.dev/casos/integracoes-s... 📖 Documentação Técnica: https://docs.skail.dev/?utm_source=yo... 🔗 Execução durável na prática:    • 👨‍💻 Abri o código: EXECUÇÃO DURÁVEL "na un...   #bullmq #nodejs #redis