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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user