From 8e2a9ecf76cdc08a086f939f04028a20c6fce39f Mon Sep 17 00:00:00 2001 From: Jake <73198594+jaborsh@users.noreply.github.com> Date: Wed, 4 Mar 2026 22:00:07 -0800 Subject: [PATCH] taskhandler: compute now before looping tasks --- evennia/scripts/taskhandler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evennia/scripts/taskhandler.py b/evennia/scripts/taskhandler.py index feb8a48dc1..bc63a4135a 100644 --- a/evennia/scripts/taskhandler.py +++ b/evennia/scripts/taskhandler.py @@ -303,11 +303,11 @@ class TaskHandler: """ clean_ids = [] + # if a now time is provided use it (intended for unit testing) + now = self._now if self._now else datetime.now() for task_id, (date, callback, args, kwargs, persistent, _) in self.tasks.items(): if not self.active(task_id): stale_date = date + timedelta(seconds=self.stale_timeout) - # if a now time is provided use it (intended for unit testing) - now = self._now if self._now else datetime.now() # the task was canceled more than stale_timeout seconds ago if now > stale_date: clean_ids.append(task_id)