feat(core): dag_parse parsea continue_on.exit_code + retry_policy (v1.1.0)

DagContinueOn gana el campo ExitCodes []int (codigos de salida tolerados) y el
parser mapea continue_on.exit_code desde el YAML. retry_policy (limit,
interval_sec) ya existia en el modelo y ahora queda documentado como contrato
estable para los executors.

Funcion pura: solo normaliza el YAML al modelo DagDefinition; la interpretacion
(reintentar, tolerar codigos) vive en el executor que lo consuma (dag_engine).

Test: 'parsea continue_on.exit_code y retry_policy'. Tag de grupo: scheduler.
This commit is contained in:
Egutierrez
2026-06-03 12:44:26 +02:00
parent ba5d262c6c
commit 3c1061fbd8
4 changed files with 71 additions and 7 deletions
+6 -4
View File
@@ -29,8 +29,9 @@ type rawDagStep struct {
}
type rawDagContinueOn struct {
Failure bool `yaml:"failure"`
Skipped bool `yaml:"skipped"`
Failure bool `yaml:"failure"`
Skipped bool `yaml:"skipped"`
ExitCode []int `yaml:"exit_code"`
}
type rawDagRetryPolicy struct {
@@ -203,8 +204,9 @@ func normalizeStep(rs rawDagStep) (DagStep, error) {
Depends: rs.Depends,
Env: stepEnv,
ContinueOn: DagContinueOn{
Failure: rs.ContinueOn.Failure,
Skipped: rs.ContinueOn.Skipped,
Failure: rs.ContinueOn.Failure,
Skipped: rs.ContinueOn.Skipped,
ExitCodes: rs.ContinueOn.ExitCode,
},
RetryPolicy: DagRetryPolicy{
Limit: rs.RetryPolicy.Limit,