#!/usr/bin/env python # -*- coding: utf-8 -*- """ 任务块执行记录模型 对应vwed_blockrecord表 """ import datetime from sqlalchemy import Column, String, Integer, Index from sqlalchemy.dialects.mysql import LONGTEXT, DATETIME from data.models.base import BaseModel class VWEDBlockRecord(BaseModel): """ 任务块执行记录模型 对应vwed_blockrecord表 功能:记录任务块的执行情况,一个任务由多个任务块组成 """ __tablename__ = 'vwed_blockrecord' __table_args__ = ( Index('idx_vwed_blockrecord_task_id', 'task_id'), Index('idx_vwed_blockrecord_task_record_id', 'task_record_id'), Index('idx_vwed_blockrecord_status', 'status'), Index('idx_vwed_blockrecord_block_id', 'block_id'), Index('idx_vwed_blockrecord_created_at', 'created_at'), { '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') block_name = Column(String(255), comment='块名称') block_id = Column(String(255), comment='块ID') block_config_id = Column(String(255), comment='块配置ID') block_input_params = Column(LONGTEXT, comment='块输入参数') block_input_params_value = Column(LONGTEXT, comment='块输入参数值') block_out_params_value = Column(LONGTEXT, comment='块输出参数值') block_internal_variables = Column(LONGTEXT, comment='块内部变量') block_execute_name = Column(String(255), comment='块执行名称') task_id = Column(String(255), comment='关联的任务定义ID') task_record_id = Column(String(255), comment='关联的任务记录ID') started_on = Column(DATETIME(fsp=6), comment='开始时间') ended_on = Column(DATETIME(fsp=6), comment='结束时间') ended_reason = Column(LONGTEXT, comment='结束原因') status = Column(Integer, comment='块执行状态, 1000: 执行成功, 1001: 执行中, 1006: 未执行, 2000: 执行失败, 2002: 取消') ctrl_status = Column(Integer, comment='控制状态') input_params = Column(LONGTEXT, comment='输入参数') internal_variables = Column(LONGTEXT, comment='内部变量') output_params = Column(LONGTEXT, comment='输出参数') version = Column(Integer, comment='版本号', default=1) remark = Column(LONGTEXT, comment='备注') def __repr__(self): return f""