Skip to content

Commit 611a4eb

Browse files
committed
DispatchActor: Update timer correctly after schedule modifications
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent bcd5c0f commit 611a4eb

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/frequenz/dispatch/actor.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ async def _execute_scheduled_event(self, dispatch: Dispatch) -> None:
130130
else:
131131
self._schedule_start(dispatch)
132132

133+
self._update_timer()
134+
133135
async def _fetch(self) -> None:
134136
"""Fetch all relevant dispatches using list.
135137
@@ -234,10 +236,14 @@ async def _update_dispatch_schedule_and_notify(
234236
self._schedule_start(dispatch)
235237

236238
# We modified the schedule, so we need to reset the timer
239+
self._update_timer()
240+
241+
def _update_timer(self) -> None:
242+
"""Update the timer to the next event."""
237243
if self._scheduled_events:
238-
_logger.debug("Next event scheduled at %s", self._scheduled_events[0][0])
239244
due_at: datetime = self._scheduled_events[0][0]
240245
self._next_event_timer.reset(interval=due_at - datetime.now(timezone.utc))
246+
_logger.debug("Next event scheduled at %s", self._scheduled_events[0][0])
241247

242248
def _remove_scheduled(self, dispatch: Dispatch) -> bool:
243249
"""Remove a dispatch from the scheduled events.

0 commit comments

Comments
 (0)