Skip to content

Scheduler tasks ignore delay parameter #317

@zl9545

Description

@zl9545

Describe the bug
When the world save file reaches a certain size (even as small as a few MBs), scheduler tasks registered within on_enable or during the ServerLoadEvent ignore the delay parameter and execute immediately.

To Reproduce

def on_enable(self) -> None:
    self.register_events(self)

    # Suggesting the level is loaded
    print(f"OVERWORLD: {self.server.level.get_dimension('overworld').name}")
    print(f"{datetime.now()} on_enable triggered")
    self.server.scheduler.run_task(
        self,
        lambda: print(f"{datetime.now()} on_enable task executed"),
        delay=200
    )

@event_handler
def on_server_load(self, _: ServerLoadEvent) -> None:
    print(f"{datetime.now()} on_server_load triggered")
    self.server.scheduler.run_task(
        self,
        lambda: print(f"{datetime.now()} on_server_load task executed"),
        delay=200
    )

Expected behavior
The scheduler tasks should follow the delay parameter.

Details (please complete the following information):

  • OS: Windows 10
  • Endstone Version: V0.10.18

Additional context

[2026-01-01 01:35:43.290 INFO] [DelayTest] Enabling delay_test v1.0.0
OVERWORLD: Overworld
2026-01-01 01:35:43.280516 on_enable triggered
2026-01-01 01:35:43.280516 on_server_load triggered
2026-01-01 01:35:43.513530 on_server_load task executed
2026-01-01 01:35:43.513530 on_enable task executed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions