From fa8b7c96474d7e6bace72b762d52c94e77f3c919 Mon Sep 17 00:00:00 2001 From: fzyzcjy <5236035+fzyzcjy@users.noreply.github.com> Date: Sat, 16 May 2026 09:22:41 +0800 Subject: [PATCH] Lift forward_ct/cur_batch and use direct access in watchdog (#25442) --- python/sglang/srt/managers/scheduler.py | 3 +++ .../sglang/srt/managers/scheduler_runtime_checker_mixin.py | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/managers/scheduler.py b/python/sglang/srt/managers/scheduler.py index 078240792..43290075a 100644 --- a/python/sglang/srt/managers/scheduler.py +++ b/python/sglang/srt/managers/scheduler.py @@ -349,6 +349,9 @@ class Scheduler( dp_rank: Optional[int], ): self.is_initializing = True + # init_soft_watchdog starts a daemon thread that reads these on its first tick. + self.forward_ct: int = 0 + self.cur_batch: Optional[ScheduleBatch] = None self.init_soft_watchdog(server_args) # Parse args diff --git a/python/sglang/srt/managers/scheduler_runtime_checker_mixin.py b/python/sglang/srt/managers/scheduler_runtime_checker_mixin.py index ebf929f71..9b5f7709c 100644 --- a/python/sglang/srt/managers/scheduler_runtime_checker_mixin.py +++ b/python/sglang/srt/managers/scheduler_runtime_checker_mixin.py @@ -594,9 +594,8 @@ def create_scheduler_watchdog( return WatchdogRaw( debug_name="Scheduler", - get_counter=lambda: getattr(scheduler, "forward_ct", 0), - is_active=lambda: scheduler.is_initializing - or getattr(scheduler, "cur_batch", None) is not None, + get_counter=lambda: scheduler.forward_ct, + is_active=lambda: scheduler.is_initializing or scheduler.cur_batch is not None, watchdog_timeout=watchdog_timeout, soft=soft, dump_info=dump_info,