Backend · Resiliência
Fila com Limite de Concorrência
Processa milhares de itens com N tarefas por vez, resultados na ordem, timeout por tarefa e progresso. Importação e envio em massa sem estourar rate limit nem memória.
Concorrência · Batch · Promises · 8 testes automatizados · Licença MIT · Criado por FlowCore Soluções LTDA
Como instalar
- Funciona onde você já roda Node 18+, Cloudflare Workers, Deno, Bun, Vercel e Netlify Functions. Zero dependência: só fetch e Web Crypto, que já vêm no runtime.
- Crie src/lib/fila-concorrencia.ts Cole o código da aba Código.
- Use
const resultados = await executarComLimite(clientes, (c, _i, signal) => sincronizarNoCrm(c, signal), { concorrencia: 5, timeoutMs: 10_000, aoProgredir: (p) => console.log(`${p.concluidas}/${p.total}`), }); - Rode o teste junto O arquivo de teste (aba Teste) cobre 8 cenários. Copie para src/lib/ ao lado e rode:
npm install -D vitest npx vitest run src/lib
Código no GitHub · Biblioteca de códigos