02 — Cliente coringa: N fluxos por instalação¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-09
Entregue em v0.0.4–v0.0.5 (2026-07-28 a 2026-07-31).
Escopo¶
O cliente nasceu com um fluxo fixo em código. A plataforma precisa do contrário: o mesmo binário envia dados de várias origens ao X-Adm, e o lado ZIM identifica cada uma pelo literal de handshake — o nome do programa é compartilhado.
O que foi construído¶
- Handshake por arquivos com o runtime ZIM: o programa escreve
Iniciou Zim, o cliente responde com a linha de continuação do fluxo (IMPORTA_PIED,Continuar,ENCERRA_MDFE). - Multi-fluxo em série: N fluxos ativos por instalação, um processador por fluxo, todos
no mesmo par de arquivos, rodados por um agendador de thread única — nunca concorrem.
A chave
zim.fluxospassou a nomear os fluxos ativos (e, emv0.0.7, a ser obrigatória). - Fluxo abastecimento (
Continuar), backport do integrador do xposto: implementado e pronto, inativo até o espelho existir no servidor. - Fluxo ENCERRA_MDFE: baixa de MDF-e no ERP, com duas divergências próprias — o retorno casa por contador (pode vir fora de ordem e parcial) e o erro terminal dispara alerta.
- Observabilidade: erros sobem para o GlitchTip, com a chave
clientedo properties virando tag — o DSN é compartilhado, e sem a tag não se sabe qual instalação gerou o erro.
Contratos¶
Contrato do abastecimento e contrato do ENCERRA_MDFE — ambos seguem o formato comum do pied; o que muda é o conjunto de tabelas e o literal.
Decisões¶
| Decisão | Assunto |
|---|---|
| 0002 | N processadores em série num par de arquivos único |