52 lines
2.2 KiB
Python
52 lines
2.2 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
|
||
"""
|
||
任务日志模型
|
||
对应vwed_tasklog表
|
||
"""
|
||
|
||
import datetime
|
||
from sqlalchemy import Column, String, Integer, DateTime, Index
|
||
from sqlalchemy.dialects.mysql import LONGTEXT
|
||
from data.models.base import BaseModel
|
||
|
||
|
||
class VWEDTaskLog(BaseModel):
|
||
"""
|
||
任务日志模型
|
||
对应vwed_tasklog表
|
||
功能:记录任务执行过程中的详细日志信息,用于监控和调试
|
||
"""
|
||
__tablename__ = 'vwed_tasklog'
|
||
|
||
__table_args__ = (
|
||
Index('idx_vwed_tasklog_task_id', 'task_id'),
|
||
Index('idx_vwed_tasklog_task_record_id', 'task_record_id'),
|
||
Index('idx_vwed_tasklog_level', 'level'),
|
||
Index('idx_vwed_tasklog_created_at', 'created_at'),
|
||
Index('idx_vwed_tasklog_parent_log_id', 'parent_log_id'),
|
||
Index('idx_vwed_tasklog_iteration_index', 'iteration_index'),
|
||
Index('idx_vwed_tasklog_block_record_id', 'block_record_id'),
|
||
Index('idx_vwed_tasklog_log_type', 'log_type'),
|
||
{
|
||
'mysql_engine': 'InnoDB',
|
||
'mysql_charset': 'utf8mb4',
|
||
'mysql_collate': 'utf8mb4_general_ci',
|
||
'info': {'order_by': 'created_at DESC'}
|
||
}
|
||
)
|
||
|
||
id = Column(String(255), primary_key=True, nullable=False, comment='日志记录ID')
|
||
level = Column(Integer, comment='日志级别(1: 信息, 3: 错误等)')
|
||
message = Column(LONGTEXT, comment='日志消息内容')
|
||
task_block_id = Column(String(255), comment='任务块名称(name字段)')
|
||
task_id = Column(String(255), comment='对应的任务定义ID')
|
||
task_record_id = Column(String(255), comment='对应的任务执行记录ID')
|
||
parent_log_id = Column(String(255), comment='父日志ID,用于建立层级关系')
|
||
iteration_index = Column(Integer, comment='迭代索引,记录是第几次循环(从0开始)')
|
||
block_record_id = Column(String(255), comment='关联的块执行记录ID')
|
||
log_type = Column(String(50), comment='日志类型: iteration_start(迭代开始), iteration_end(迭代结束), block_execution(块执行), branch_execution(分支执行)')
|
||
|
||
def __repr__(self):
|
||
return f"<VWEDTaskLog(id='{self.id}', level='{self.level}')>" |