From b0fe4871263ce8577c0f47304e0f6d1d2b11db7e Mon Sep 17 00:00:00 2001 From: Jake <73198594+jaborsh@users.noreply.github.com> Date: Wed, 4 Mar 2026 22:03:32 -0800 Subject: [PATCH] taskhandler: inline cleanup, save at the end --- evennia/scripts/taskhandler.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/evennia/scripts/taskhandler.py b/evennia/scripts/taskhandler.py index 58b69d4f50..b09b733c81 100644 --- a/evennia/scripts/taskhandler.py +++ b/evennia/scripts/taskhandler.py @@ -311,8 +311,15 @@ class TaskHandler: # the task was canceled more than stale_timeout seconds ago if now > stale_date: clean_ids.append(task_id) + needs_save = False for task_id in clean_ids: - self.remove(task_id) + self.cancel(task_id) + del self.tasks[task_id] + if task_id in self.to_save: + del self.to_save[task_id] + needs_save = True + if needs_save: + self.save() return True def save(self):