Skip to content

Commit b6f9097

Browse files
fix: improve RFC 3339 timestamp parsing in on_schedule function
1 parent 2da4c36 commit b6f9097

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/firebase_functions/scheduler_fn.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,16 @@ def on_schedule_wrapped(request: _Request) -> _Response:
103103
if schedule_time_str is None:
104104
schedule_time = _dt.datetime.utcnow()
105105
else:
106-
schedule_time = _dt.datetime.strptime(
107-
schedule_time_str,
108-
"%Y-%m-%dT%H:%M:%S%z",
109-
)
106+
try:
107+
# Robust RFC 3339 parsing
108+
schedule_time = dateutil_parser.isoparse(schedule_time_str)
109+
except ValueError as e:
110+
print(f"Failed to parse RFC 3339 timestamp: {e}")
111+
schedule_time = _dt.utcnow()
112+
schedule_time = _dt.datetime.strptime(
113+
schedule_time_str,
114+
"%Y-%m-%dT%H:%M:%S%z",
115+
)
110116
event = ScheduledEvent(
111117
job_name=request.headers.get("X-CloudScheduler-JobName"),
112118
schedule_time=schedule_time,

0 commit comments

Comments
 (0)