90 lines
3.5 KiB
Go
90 lines
3.5 KiB
Go
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:"-"`
|
||
}
|