package entity import ( "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/os/gtime" ) type asynchTaskCol struct { beans.SQLBaseCol ModelName string TaskID string State string BizName string CallbackURL string ModelKey string OssFile string FileType string FileSize string ErrorMsg string StartedAt string FinishedAt string ExpireAt string DurationSeconds string RetryCount string EnqueueAt string Phase string TmpFile string InputRef string RequestPayload string } var AsynchTaskCol = asynchTaskCol{ SQLBaseCol: beans.DefSQLBaseCol, ModelName: "model_name", TaskID: "task_id", State: "state", BizName: "biz_name", CallbackURL: "callback_url", ModelKey: "model_key", OssFile: "oss_file", FileType: "file_type", FileSize: "file_size", ErrorMsg: "error_msg", StartedAt: "started_at", FinishedAt: "finished_at", ExpireAt: "expire_at", DurationSeconds: "duration_seconds", RetryCount: "retry_count", EnqueueAt: "enqueue_at", Phase: "phase", TmpFile: "tmp_file", InputRef: "input_ref", RequestPayload: "request_payload", } // AsynchTask 异步任务 type AsynchTask struct { beans.SQLBaseDO `orm:",inline"` ModelName string `orm:"model_name" json:"modelName"` TaskID string `orm:"task_id" json:"taskId"` State int `orm:"state" json:"state"` // 0排队中/1执行中/2成功/3失败/4已下载 BizName string `orm:"biz_name" json:"bizName"` CallbackURL string `orm:"callback_url" json:"callbackUrl"` ModelKey string `orm:"model_key" json:"modelKey"` OssFile string `orm:"oss_file" json:"ossFile"` FileType string `orm:"file_type" json:"fileType"` FileSize int64 `orm:"file_size" json:"fileSize"` ErrorMsg string `orm:"error_msg" json:"errorMsg"` StartedAt *gtime.Time `orm:"started_at" json:"startedAt"` FinishedAt *gtime.Time `orm:"finished_at" json:"finishedAt"` ExpireAt *gtime.Time `orm:"expire_at" json:"expireAt"` // 已下载(state=4)后的过期时间 DurationSeconds int64 `orm:"duration_seconds" json:"durationSeconds"` RetryCount int `orm:"retry_count" json:"retryCount"` EnqueueAt *gtime.Time `orm:"enqueue_at" json:"enqueueAt"` Phase int `orm:"phase" json:"phase"` // 0模型阶段/1OSS阶段 TmpFile string `orm:"tmp_file" json:"tmpFile"` // 临时结果文件路径 // RetryQueueMaxSeconds 为 ListFailedRetryableGlobal 的 join 字段(非任务表字段) RetryQueueMaxSeconds int `orm:"retry_queue_max_seconds" json:"-"` InputRef string `orm:"input_ref" json:"inputRef"` RequestPayload any `orm:"request_payload" json:"requestPayload"` }