Make tutorial-world buildable by Developer.

Make use of .ndb.batch_batchmode to avoid affecting the builder (document this). Resolve #3688.
Clean up OnDemandTasks' categories before saving, in case it was an object that was deleted
This commit is contained in:
Griatch 2025-01-18 14:37:18 +01:00
parent 825eb32995
commit a921660fd0
5 changed files with 52 additions and 14 deletions

View file

@ -398,6 +398,10 @@ class OnDemandHandler:
Save the on-demand timers to ServerConfig storage. Should be called when Evennia shuts down.
"""
for key, category in list(self.tasks.keys()):
# in case an object was used for categories, and were since deleted, drop the task
if hasattr(category, "id") and category.id is None:
self.tasks.pop((key, category))
ServerConfig.objects.conf(ONDEMAND_HANDLER_SAVE_NAME, self.tasks)
def _build_key(self, key, category):