Skip to content

Commit e4040a4

Browse files
fix: use timezone-aware datetime for schedule_time in on_schedule function
1 parent 4ebbdb0 commit e4040a4

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/firebase_functions/scheduler_fn.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import dataclasses as _dataclasses
1717
import datetime as _dt
18+
from datetime import timezone as _timezone
1819
import functools as _functools
1920
import typing as _typing
2021

@@ -101,7 +102,7 @@ def on_schedule_wrapped(request: _Request) -> _Response:
101102
schedule_time: _dt.datetime
102103
schedule_time_str = request.headers.get("X-CloudScheduler-ScheduleTime")
103104
if schedule_time_str is None:
104-
schedule_time = _dt.datetime.utcnow()
105+
schedule_time = _dt.datetime.now(_timezone.utc)
105106
else:
106107
try:
107108
# Try to parse with the stdlib which supports fractional
@@ -121,7 +122,7 @@ def on_schedule_wrapped(request: _Request) -> _Response:
121122
except ValueError as e:
122123
# If all parsing fails, log and use current UTC time
123124
_logging.exception(e)
124-
schedule_time = _dt.datetime.utcnow()
125+
schedule_time = _dt.datetime.now(_timezone.utc)
125126
event = ScheduledEvent(
126127
job_name=request.headers.get("X-CloudScheduler-JobName"),
127128
schedule_time=schedule_time,

0 commit comments

Comments
 (0)