38 lines
989 B
Python
38 lines
989 B
Python
"""Redis 键名与 TTL 常量、状态枚举。"""
|
||
from enum import Enum
|
||
|
||
|
||
class TaskStatus(str, Enum):
|
||
PENDING = "pending"
|
||
RUNNING = "running"
|
||
SUCCESS = "success"
|
||
FAILED = "failed"
|
||
|
||
|
||
class AgentStatus(str, Enum):
|
||
ONLINE = "online"
|
||
OFFLINE = "offline"
|
||
|
||
|
||
# ---- 任务池键 ----
|
||
# 任务全量信息:hash task:info:{request_id}
|
||
TASK_INFO_KEY = "task:info:{request_id}"
|
||
# 待调度任务集合
|
||
TASK_PENDING_SET = "task:pending"
|
||
# 执行中任务集合
|
||
TASK_RUNNING_SET = "task:running"
|
||
|
||
# ---- Agent 池键 ----
|
||
# Agent 全量信息:hash agent:info:{agent_id}
|
||
AGENT_INFO_KEY = "agent:info:{agent_id}"
|
||
# 心跳时间戳 ZSet:score = 最后心跳时间
|
||
AGENT_HEARTBEAT_ZSET = "agent:heartbeat"
|
||
# 按能力标签索引 Agent:set agent:tag:{tag}
|
||
AGENT_TAG_KEY = "agent:tag:{tag}"
|
||
# 全部在线 Agent 索引
|
||
AGENT_ALL_SET = "agent:all"
|
||
|
||
# ---- 分布式锁键 ----
|
||
LOCK_SCHEDULER = "lock:scheduler"
|
||
LOCK_HEARTBEAT = "lock:heartbeat"
|
||
LOCK_TIMEOUT = "lock:timeout" |