+4![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)









Yeuoly
GitHub
Stream
lyzno1
zhsama
Harry
lyzno1
yessenia
hjlarry
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
WTW0313
Copilot
b76e17b25d
Signed-off-by: lyzno1 <[email protected]> Co-authored-by: Stream <[email protected]> Co-authored-by: lyzno1 <[email protected]> Co-authored-by: zhsama <[email protected]> Co-authored-by: Harry <[email protected]> Co-authored-by: lyzno1 <[email protected]> Co-authored-by: yessenia <[email protected]> Co-authored-by: hjlarry <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: WTW0313 <[email protected]> Co-authored-by: Copilot <[email protected]>
35 lines
692 B
Python
35 lines
692 B
Python
from abc import ABC, abstractmethod
|
|
from enum import StrEnum
|
|
|
|
from services.workflow.entities import WorkflowScheduleCFSPlanEntity
|
|
|
|
|
|
class SchedulerCommand(StrEnum):
|
|
"""
|
|
Scheduler command.
|
|
"""
|
|
|
|
RESOURCE_LIMIT_REACHED = "resource_limit_reached"
|
|
NONE = "none"
|
|
|
|
|
|
class CFSPlanScheduler(ABC):
|
|
"""
|
|
CFS plan scheduler.
|
|
"""
|
|
|
|
def __init__(self, plan: WorkflowScheduleCFSPlanEntity):
|
|
"""
|
|
Initialize the CFS plan scheduler.
|
|
|
|
Args:
|
|
plan: The CFS plan.
|
|
"""
|
|
self.plan = plan
|
|
|
|
@abstractmethod
|
|
def can_schedule(self) -> SchedulerCommand:
|
|
"""
|
|
Whether a workflow run can be scheduled.
|
|
"""
|