feat(scheduler-core): implement builtin_fcfs state-change hooks (task 2.2)

Adds on_queue_update, on_job_push, on_job_state_change, and on_job_update
to builtin_fcfs, driving the picker's private ordq_t candidate sets
directly (no core/sched queries), matching fcfs.c's existing ordering
semantics on the new finer-grained hook interface.

Requirements: 3.2
This commit is contained in:
Rongsong Shen 2026-08-03 06:55:33 +00:00
parent f7921b961a
commit b7214ebe88
3 changed files with 854 additions and 1 deletions

View file

@ -32,7 +32,7 @@
- _Requirements: 3.1, 3.3_
- _Depends: 1.1, 1.2_
- [ ] 2.2 Implement builtin_fcfs state-change hooks
- [x] 2.2 Implement builtin_fcfs state-change hooks
- `on_queue_update`: upsert a queue into the picker's ordered queue list, keyed by descending priority
- `on_job_push`: add a newly-pending job into its queue's candidate set, ordered by priority desc then submission/queue time asc
- `on_job_state_change`: remove a job from candidates when it leaves pending state, re-add it when it returns to pending