Spaces:
Sleeping
Sleeping
File size: 941 Bytes
4d0ffdd 6a28f91 4d0ffdd 6a28f91 4d0ffdd f6c65ef 4d0ffdd f6c65ef 4d0ffdd f6c65ef 4d0ffdd f6c65ef 4d0ffdd f6c65ef 4d0ffdd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
"""First-In-First-Out (FIFO) scheduling policy.
Schedules cases in the order they were filed, treating all cases equally.
This is the simplest baseline policy.
"""
from __future__ import annotations
from datetime import date
from typing import List
from src.core.case import Case
from src.core.policy import SchedulerPolicy
class FIFOPolicy(SchedulerPolicy):
"""FIFO scheduling: cases scheduled in filing order."""
def prioritize(self, cases: List[Case], current_date: date) -> List[Case]:
"""Sort cases by filed_date (earliest first).
Args:
cases: List of eligible cases
current_date: Current simulation date (unused)
Returns:
Cases sorted by filing date (oldest first)
"""
return sorted(cases, key=lambda c: c.filed_date)
def get_name(self) -> str:
return "FIFO"
def requires_readiness_score(self) -> bool:
return False
|