Fix: FLEXMEASURES_*_TTL config handling: support ISO-8601, int days, and proper defaults #1882
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently,
FLEXMEASURES_JOB_TTLandFLEXMEASURES_PLANNING_TTLhave several issues:Type conflicts with defaults
timedelta(days=1)/timedelta(days=7)as defaults."P2D") or an integer in the config, passing atimedeltaas the.get()default causes a runtime error when calling.total_seconds().Unclear “persist forever” behavior
Noneand negative TTLs were not consistently handled.Limited input formats
timedeltawas accepted.2(days) or ISO-8601 strings were unsupported.normalize_ttl(value, default_days)helper to convert config values totimedeltainternally.Job.createcalls to use normalized TTLs safely.documentation/changelog.rst.How to test
FLEXMEASURES_JOB_TTLandFLEXMEASURES_PLANNING_TTLinflexmeasures.cfgwith:"P2D"or"PT12H"2-1for persist foreverttlandresult_ttlare correctly applied.Sign-off