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 BizName string CallbackURL string ModelKey string State string OssFile string FileType string FileSize string ErrorMsg string StartedAt string FinishedAt string DurationSeconds string ExpireAt string RetryCount string EnqueueAt string Phase string TmpFile string InputRef string RequestPayload string TextResult string EpicycleId string ExpendTokens string } var AsynchTaskCol = asynchTaskCol{ SQLBaseCol: beans.DefSQLBaseCol, ModelName: "model_name", TaskID: "task_id", BizName: "biz_name", CallbackURL: "callback_url", ModelKey: "model_key", State: "state", OssFile: "oss_file", FileType: "file_type", FileSize: "file_size", ErrorMsg: "error_msg", StartedAt: "started_at", FinishedAt: "finished_at", DurationSeconds: "duration_seconds", ExpireAt: "expire_at", RetryCount: "retry_count", EnqueueAt: "enqueue_at", Phase: "phase", TmpFile: "tmp_file", InputRef: "input_ref", RequestPayload: "request_payload", TextResult: "text_result", EpicycleId: "epicycle_id", ExpendTokens: "expend_tokens", } // AsynchTask 异步任务 type AsynchTask struct { beans.SQLBaseDO `orm:",inline"` ModelName string `orm:"model_name" json:"modelName"` TaskID string `orm:"task_id" json:"taskId"` BizName string `orm:"biz_name" json:"bizName"` CallbackURL string `orm:"callback_url" json:"callbackUrl"` ModelKey string `orm:"model_key" json:"modelKey"` State int `orm:"state" json:"state"` // 0排队中/1执行中/2成功/3失败/4已下载 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"` DurationSeconds int64 `orm:"duration_seconds" json:"durationSeconds"` ExpireAt *gtime.Time `orm:"expire_at" json:"expireAt"` // 已下载(state=4)后的过期时间 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"` // 临时结果文件路径 InputRef string `orm:"input_ref" json:"inputRef"` RequestPayload map[string]any `orm:"request_payload" json:"requestPayload"` TextResult map[string]any `orm:"text_result" json:"text"` EpicycleId int64 `orm:"epicycle_id" json:"epicycleId"` // 轮次ID(用于标识同一轮次的任务) ExpendTokens int64 `orm:"expend_tokens" json:"expendTokens"` // 消耗 token 数 RetryQueueMaxSeconds int `orm:"retry_queue_max_seconds" json:"-"` }