Merge pull request #1729 from NousResearch/fix/cron-timezone-naive-iso

fix(cron): naive ISO timestamps stored without timezone — jobs fire at wrong time
This commit is contained in:
Teknium 2026-03-17 04:24:02 -07:00 committed by GitHub
commit fb20a9e120
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -168,6 +168,10 @@ def parse_schedule(schedule: str) -> Dict[str, Any]:
try:
# Parse and validate
dt = datetime.fromisoformat(schedule.replace('Z', '+00:00'))
# Make naive timestamps timezone-aware at parse time so the stored
# value doesn't depend on the system timezone matching at check time.
if dt.tzinfo is None:
dt = dt.astimezone() # Interpret as local timezone
return {
"kind": "once",
"run_at": dt.isoformat(),