30 lines
933 B
Go
30 lines
933 B
Go
|
|
package models
|
|||
|
|
|
|||
|
|
import "time"
|
|||
|
|
|
|||
|
|
// AlertOutbox 表示待发送或重试中的告警任务。
|
|||
|
|
type AlertOutbox struct {
|
|||
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|||
|
|
|
|||
|
|
CreatedAt time.Time `json:"created_at"`
|
|||
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|||
|
|
|
|||
|
|
// LogEventID 关联日志事件 ID。
|
|||
|
|
LogEventID uint `gorm:"index" json:"log_event_id"`
|
|||
|
|
// PayloadJSON 保存 AlertReceiveBody 的 JSON 文本。
|
|||
|
|
PayloadJSON string `gorm:"type:text" json:"payload_json"`
|
|||
|
|
// Status 任务状态:pending/retrying/sent/dead。
|
|||
|
|
Status string `gorm:"size:32;index" json:"status"`
|
|||
|
|
// RetryCount 已重试次数。
|
|||
|
|
RetryCount int `json:"retry_count"`
|
|||
|
|
// NextRetryAt 下一次可重试时间。
|
|||
|
|
NextRetryAt time.Time `gorm:"index" json:"next_retry_at"`
|
|||
|
|
// LastError 最近一次错误信息。
|
|||
|
|
LastError string `gorm:"type:text" json:"last_error"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func (AlertOutbox) TableName() string {
|
|||
|
|
return "logs_alert_outbox"
|
|||
|
|
}
|
|||
|
|
|