tentativa
Repetição com recuo exponencial, jitter e circuit breaker.
bash
dataforge add tentativa| Versão | 1.0.0 |
| Licença | MIT |
| Dependências | nenhuma |
| Exporta | 8 símbolos |
Por que existe#
Repetir só ajuda quando a falha é transitória. Repetir uma falha determinística — senha errada, JSON inválido — é gastar tempo para chegar ao mesmo lugar; por isso parar_se existe.
Uso#
dataforge
adopt tentativa as R
dados := R.repetir(lambda => buscar_api(), 3)
politica := R.politica(5, 0.1, 2.0)
dados := R.com_politica(lambda => buscar_api(), politica)API#
O que relay exporta — 8 símbolos:
dataforge
record Politica
blueprint Disjuntor
politica(tentativas := 3, espera_inicial := 0.1, fator := 2.0,
espera_maxima := 30.0, jitter := yes)
espera_da_tentativa(p, n)
com_politica(acao, p, parar_se := void)
repetir(acao, tentativas := 3)
repetir_ate(condicao, tentativas := 10, espera := 0.1)
disjuntor(limite := 5, descanso := 30.0)Instalar#
bash
dataforge add tentativa
dataforge add tentativa@1.0.0
dataforge add tentativa@^1.0