Files
2026-07-13 12:31:34 +08:00

59 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
"""
log_monitor_model.py
"""
from __future__ import print_function, unicode_literals, absolute_import, division
from datetime import datetime
from peewee import CharField, IntegerField, DateTimeField, AutoField
from domain_admin.enums.monitor_status_enum import MonitorStatusEnum
from domain_admin.enums.monitor_type_enum import MonitorTypeEnum
from domain_admin.model.base_model import BaseModel
from domain_admin.utils import datetime_util
from domain_admin.utils.peewee_ext.field import MyDateTimeField
class LogMonitorModel(BaseModel):
"""监控日志"""
id = AutoField(primary_key=True)
# id
monitor_id = IntegerField(default=0)
# 监控类型
monitor_type = IntegerField(default=MonitorTypeEnum.UNKNOWN)
# 状态
status = IntegerField(default=MonitorStatusEnum.UNKNOWN)
# 结果
result = CharField(default='')
# 创建时间
create_time = MyDateTimeField(default=datetime.now)
# 更新时间
update_time = MyDateTimeField(default=None, null=True)
class Meta:
table_name = 'tb_log_monitor'
@property
def create_time_label(self):
return datetime_util.format_datetime_label(self.create_time)
@property
def update_time_label(self):
return datetime_util.time_for_human(self.update_time)
@property
def total_microsecond_time(self):
end_time = self.update_time or datetime.now()
return datetime_util.get_diff_time_with_microsecond(self.create_time, end_time)
@property
def total_time_label(self):
return datetime_util.microsecond_for_human(self.total_microsecond_time)