- update run

master v1.0.67
李光春 2 years ago
parent 3705004c3d
commit 5e80f3edf0

@ -1,3 +1,3 @@
package gojobs
const Version = "1.0.66"
const Version = "1.0.67"

@ -24,6 +24,7 @@ type Task struct {
SpecifyIp string `gorm:"index;comment:指定外网IP" json:"specify_ip"` // 指定外网IP
UpdatedIp string `gorm:"comment:更新外网IP" json:"updated_ip"` // 更新外网IP
Result string `gorm:"comment:结果" json:"result"` // 结果
NextRunTime time.Time `gorm:"comment:下次运行时间" json:"next_run_time"` // 下次运行时间
CreatedAt time.Time `gorm:"autoCreateTime;comment:创建时间" json:"created_at"` // 创建时间
UpdatedAt time.Time `gorm:"autoUpdateTime;comment:更新时间" json:"updated_at"` // 更新时间
DeletedAt gorm.DeletedAt `gorm:"index;comment:删除时间" json:"deleted_at"` // 删除时间

@ -3,16 +3,17 @@ package gojobs
import (
"go.dtapp.net/gojobs/jobs_gorm_model"
"go.dtapp.net/gostring"
"go.dtapp.net/gotime"
"log"
)
// Run 运行
func (j *JobsGorm) Run(info jobs_gorm_model.Task, status int, desc string) {
func (j *JobsGorm) Run(info jobs_gorm_model.Task, status int, result string) {
// 请求函数记录
err := j.gormClient.Db.Create(&jobs_gorm_model.TaskLog{
TaskId: info.Id,
StatusCode: status,
Desc: desc,
Desc: result,
Version: j.config.runVersion,
}).Error
if err != nil {
@ -20,12 +21,14 @@ func (j *JobsGorm) Run(info jobs_gorm_model.Task, status int, desc string) {
}
if status == 0 {
err = j.EditTask(j.gormClient.Db, info.Id).
Select("run_id").
Select("run_id", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
RunId: gostring.GetUuId(),
RunId: gostring.GetUuId(),
Result: result,
NextRunTime: gotime.Current().AfterSeconds(info.Frequency).Time,
}).Error
if err != nil {
log.Println("[gojobs.Run.EditTask]", err.Error())
log.Println("[gojobs.Run.0.EditTask]", err.Error())
}
return
}
@ -33,46 +36,49 @@ func (j *JobsGorm) Run(info jobs_gorm_model.Task, status int, desc string) {
if status == CodeSuccess {
// 执行成功
err = j.EditTask(j.gormClient.Db, info.Id).
Select("status_desc", "number", "run_id", "updated_ip", "result").
Select("status_desc", "number", "run_id", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
StatusDesc: "执行成功",
Number: info.Number + 1,
RunId: gostring.GetUuId(),
UpdatedIp: j.config.outsideIp,
Result: desc,
StatusDesc: "执行成功",
Number: info.Number + 1,
RunId: gostring.GetUuId(),
UpdatedIp: j.config.outsideIp,
Result: result,
NextRunTime: gotime.Current().AfterSeconds(info.Frequency).Time,
}).Error
if err != nil {
log.Println("[gojobs.Run.EditTask]", err.Error())
log.Println("[gojobs.Run.CodeSuccess.EditTask]", err.Error())
}
}
if status == CodeEnd {
// 执行成功、提前结束
err = j.EditTask(j.gormClient.Db, info.Id).
Select("status", "status_desc", "number", "updated_ip", "result").
Select("status", "status_desc", "number", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
Status: TASK_SUCCESS,
StatusDesc: "结束执行",
Number: info.Number + 1,
UpdatedIp: j.config.outsideIp,
Result: desc,
Status: TASK_SUCCESS,
StatusDesc: "结束执行",
Number: info.Number + 1,
UpdatedIp: j.config.outsideIp,
Result: result,
NextRunTime: gotime.Current().Time,
}).Error
if err != nil {
log.Println("[gojobs.Run.EditTask]", err.Error())
log.Println("[gojobs.Run.CodeEnd.EditTask]", err.Error())
}
}
if status == CodeError {
// 执行失败
err = j.EditTask(j.gormClient.Db, info.Id).
Select("status_desc", "number", "run_id", "updated_ip", "result").
Select("status_desc", "number", "run_id", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
StatusDesc: "执行失败",
Number: info.Number + 1,
RunId: gostring.GetUuId(),
UpdatedIp: j.config.outsideIp,
Result: desc,
StatusDesc: "执行失败",
Number: info.Number + 1,
RunId: gostring.GetUuId(),
UpdatedIp: j.config.outsideIp,
Result: result,
NextRunTime: gotime.Current().AfterSeconds(info.Frequency).Time,
}).Error
if err != nil {
log.Println("[gojobs.Run.EditTask]", err.Error())
log.Println("[gojobs.Run.CodeError.EditTask]", err.Error())
}
}
if info.MaxNumber != 0 {
@ -84,7 +90,7 @@ func (j *JobsGorm) Run(info jobs_gorm_model.Task, status int, desc string) {
Status: TASK_TIMEOUT,
}).Error
if err != nil {
log.Println("[gojobs.Run.EditTask]", err.Error())
log.Println("[gojobs.Run.TASK_TIMEOUT.EditTask]", err.Error())
}
}
}

@ -1,26 +1,29 @@
package jobs_xorm_model
import "time"
// Task 任务
type Task struct {
Id uint `xorm:"pk autoincr" json:"id"` // 记录编号
Status string `json:"status"` // 状态码
Params string `json:"params"` // 参数
ParamsType string `json:"params_type"` // 参数类型
StatusDesc string `json:"status_desc"` // 状态描述
Frequency int64 `json:"frequency"` // 频率(秒单位)
Number int64 `json:"number"` // 当前次数
MaxNumber int64 `json:"max_number"` // 最大次数
RunId string `json:"run_id"` // 执行编号
CustomId string `json:"custom_id"` // 自定义编号
CustomSequence int64 `json:"custom_sequence"` // 自定义顺序
Type string `json:"type"` // 类型
CreatedIp string `json:"created_ip"` // 创建外网IP
SpecifyIp string `json:"specify_ip"` // 指定外网IP
UpdatedIp string `json:"updated_ip"` // 更新外网IP
Result string `json:"result"` // 结果
CreatedAt string `xorm:"created" json:"created_at"` // 创建时间
UpdatedAt string `xorm:"created" json:"updated_at"` // 更新时间
DeletedAt string `xorm:"deleted" json:"deleted_at"` // 删除时间
Id uint `xorm:"pk autoincr" json:"id"` // 记录编号
Status string `json:"status"` // 状态码
Params string `json:"params"` // 参数
ParamsType string `json:"params_type"` // 参数类型
StatusDesc string `json:"status_desc"` // 状态描述
Frequency int64 `json:"frequency"` // 频率(秒单位)
Number int64 `json:"number"` // 当前次数
MaxNumber int64 `json:"max_number"` // 最大次数
RunId string `json:"run_id"` // 执行编号
CustomId string `json:"custom_id"` // 自定义编号
CustomSequence int64 `json:"custom_sequence"` // 自定义顺序
Type string `json:"type"` // 类型
CreatedIp string `json:"created_ip"` // 创建外网IP
SpecifyIp string `json:"specify_ip"` // 指定外网IP
UpdatedIp string `json:"updated_ip"` // 更新外网IP
Result string `json:"result"` // 结果
NextRunTime time.Time `json:"next_run_time"` // 下次运行时间
CreatedAt string `xorm:"created" json:"created_at"` // 创建时间
UpdatedAt string `xorm:"created" json:"updated_at"` // 更新时间
DeletedAt string `xorm:"deleted" json:"deleted_at"` // 删除时间
}
func (m *Task) TableName() string {

Loading…
Cancel
Save