mirror of
https://github.com/langgenius/dify.git
synced 2025-12-20 14:42:37 +00:00
Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: Stream <Stream_2@qq.com> Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com> Co-authored-by: zhsama <torvalds@linux.do> Co-authored-by: Harry <xh001x@hotmail.com> Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: yessenia <yessenia.contact@gmail.com> Co-authored-by: hjlarry <hjlarry@163.com> 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 <twwu@dify.ai> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.
|
|
"""
|