- 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(),
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,
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,
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,
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,5 +1,7 @@
package jobs_xorm_model
import "time"
// Task 任务
type Task struct {
Id uint `xorm:"pk autoincr" json:"id"` // 记录编号
@ -18,6 +20,7 @@ type Task struct {
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"` // 删除时间

Loading…
Cancel
Save