mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-10 16:40:46 +02:00
Replace the ticker-based parallel goroutine scheduler with a single-lock sequential-processing iteration model: - schedulerLoop now calls runSchedulerIteration in a loop, sleeping idleSleepDuration (default 17m) when no work is found, or looping immediately when work is detected. - runSchedulerIteration acquires the admin lock once, loads cluster context once, then processes all enabled job types sequentially. - runJobTypeIteration runs detection then execution for one job type within a per-job-type budget (default 30m) enforced via context. - Remove markDetectionDue, finishDetection, pruneSchedulerState, runSchedulerTick, and runScheduledDetection which are no longer needed. - dispatchScheduledProposals and executeScheduledJobWithExecutor now accept a parent context for budget enforcement. - Remove DetectionInterval from schedulerPolicy, add MaxJobTypeDuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>