Files
aiagent/backend/app/models/execution.py
2026-01-19 00:09:36 +08:00

32 lines
1.3 KiB
Python

"""
执行记录模型
"""
from sqlalchemy import Column, String, Text, Integer, DateTime, JSON, ForeignKey, func
from sqlalchemy.dialects.mysql import CHAR
from sqlalchemy.orm import relationship
from app.core.database import Base
import uuid
class Execution(Base):
"""执行记录表"""
__tablename__ = "executions"
id = Column(CHAR(36), primary_key=True, default=lambda: str(uuid.uuid4()), comment="执行ID")
agent_id = Column(CHAR(36), ForeignKey("agents.id"), nullable=True, comment="智能体ID")
workflow_id = Column(CHAR(36), ForeignKey("workflows.id"), nullable=True, comment="工作流ID")
input_data = Column(JSON, comment="输入数据")
output_data = Column(JSON, comment="输出数据")
status = Column(String(20), nullable=False, comment="状态: pending/running/completed/failed")
error_message = Column(Text, comment="错误信息")
execution_time = Column(Integer, comment="执行时间(ms)")
task_id = Column(String(100), comment="Celery任务ID")
created_at = Column(DateTime, default=func.now(), comment="创建时间")
# 关系
agent = relationship("Agent", backref="executions")
workflow = relationship("Workflow", backref="executions")
def __repr__(self):
return f"<Execution(id={self.id}, status={self.status})>"