2026-04-29 15:54:14 +08:00
|
|
|
|
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
|
2026-05-12 13:45:08 +08:00
|
|
|
|
State string
|
2026-04-29 15:54:14 +08:00
|
|
|
|
OssFile string
|
|
|
|
|
|
FileType string
|
|
|
|
|
|
FileSize string
|
|
|
|
|
|
ErrorMsg string
|
|
|
|
|
|
StartedAt string
|
|
|
|
|
|
FinishedAt string
|
|
|
|
|
|
DurationSeconds string
|
2026-05-12 13:45:08 +08:00
|
|
|
|
ExpireAt string
|
2026-04-29 15:54:14 +08:00
|
|
|
|
RetryCount string
|
|
|
|
|
|
EnqueueAt string
|
|
|
|
|
|
Phase string
|
|
|
|
|
|
TmpFile string
|
|
|
|
|
|
InputRef string
|
|
|
|
|
|
RequestPayload string
|
2026-05-12 13:45:08 +08:00
|
|
|
|
TextResult string
|
|
|
|
|
|
EpicycleId string
|
|
|
|
|
|
ExpendTokens string
|
2026-04-29 15:54:14 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var AsynchTaskCol = asynchTaskCol{
|
2026-05-12 13:45:08 +08:00
|
|
|
|
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",
|
2026-04-29 15:54:14 +08:00
|
|
|
|
DurationSeconds: "duration_seconds",
|
2026-05-12 13:45:08 +08:00
|
|
|
|
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",
|
2026-04-29 15:54:14 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// AsynchTask 异步任务
|
|
|
|
|
|
type AsynchTask struct {
|
2026-05-12 13:45:08 +08:00
|
|
|
|
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 any `orm:"request_payload" json:"requestPayload"`
|
|
|
|
|
|
TextResult string `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:"-"`
|
2026-04-29 15:54:14 +08:00
|
|
|
|
}
|