- add next_run_time

master v1.0.111
李光春 2 years ago
parent 9469dcc3d6
commit 7f12ec6a01

@ -1,6 +1,6 @@
package gojobs package gojobs
const ( const (
Version = "1.0.110" Version = "1.0.111"
SpecifyIpNull = "0.0.0.0" SpecifyIpNull = "0.0.0.0"
) )

@ -6,6 +6,7 @@ import (
"fmt" "fmt"
"go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gojobs/jobs_gorm_model"
"go.dtapp.net/gostring" "go.dtapp.net/gostring"
"go.dtapp.net/gotime"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -40,6 +41,7 @@ func (c *Client) CreateInCustomId(ctx context.Context, config *ConfigCreateInCus
CreatedIp: config.CurrentIp, CreatedIp: config.CurrentIp,
SpecifyIp: config.SpecifyIp, SpecifyIp: config.SpecifyIp,
UpdatedIp: config.CurrentIp, UpdatedIp: config.CurrentIp,
NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error()))
@ -82,6 +84,7 @@ func (c *Client) CreateInCustomIdOnly(ctx context.Context, config *ConfigCreateI
CreatedIp: config.CurrentIp, CreatedIp: config.CurrentIp,
SpecifyIp: config.SpecifyIp, SpecifyIp: config.SpecifyIp,
UpdatedIp: config.CurrentIp, UpdatedIp: config.CurrentIp,
NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error()))
@ -122,6 +125,7 @@ func (c *Client) CreateInCustomIdMaxNumber(ctx context.Context, config *ConfigCr
CreatedIp: config.CurrentIp, CreatedIp: config.CurrentIp,
SpecifyIp: config.SpecifyIp, SpecifyIp: config.SpecifyIp,
UpdatedIp: config.CurrentIp, UpdatedIp: config.CurrentIp,
NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error()))
@ -166,6 +170,7 @@ func (c *Client) CreateInCustomIdMaxNumberOnly(ctx context.Context, config *Conf
CreatedIp: config.CurrentIp, CreatedIp: config.CurrentIp,
SpecifyIp: config.SpecifyIp, SpecifyIp: config.SpecifyIp,
UpdatedIp: config.CurrentIp, UpdatedIp: config.CurrentIp,
NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error()))

@ -6,6 +6,7 @@ import (
"fmt" "fmt"
"go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gojobs/jobs_gorm_model"
"go.dtapp.net/gostring" "go.dtapp.net/gostring"
"go.dtapp.net/gotime"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -40,6 +41,7 @@ func (c *Client) CreateWaitCustomId(ctx context.Context, config *ConfigCreateWai
CreatedIp: config.CurrentIp, CreatedIp: config.CurrentIp,
SpecifyIp: config.SpecifyIp, SpecifyIp: config.SpecifyIp,
UpdatedIp: config.CurrentIp, UpdatedIp: config.CurrentIp,
NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error()))

@ -7,7 +7,7 @@ require (
github.com/jasonlvhit/gocron v0.0.1 github.com/jasonlvhit/gocron v0.0.1
github.com/robfig/cron/v3 v3.0.1 github.com/robfig/cron/v3 v3.0.1
github.com/shirou/gopsutil v3.21.11+incompatible github.com/shirou/gopsutil v3.21.11+incompatible
go.dtapp.net/dorm v1.0.50 go.dtapp.net/dorm v1.0.51
go.dtapp.net/goip v1.0.38 go.dtapp.net/goip v1.0.38
go.dtapp.net/golog v1.0.101 go.dtapp.net/golog v1.0.101
go.dtapp.net/gostring v1.0.10 go.dtapp.net/gostring v1.0.10
@ -93,7 +93,7 @@ require (
golang.org/x/text v0.3.7 // indirect golang.org/x/text v0.3.7 // indirect
google.golang.org/protobuf v1.28.1 // indirect google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gorm.io/driver/mysql v1.4.0 // indirect gorm.io/driver/mysql v1.4.1 // indirect
gorm.io/driver/postgres v1.4.4 // indirect gorm.io/driver/postgres v1.4.4 // indirect
mellium.im/sasl v0.3.0 // indirect mellium.im/sasl v0.3.0 // indirect
modernc.org/ccgo/v3 v3.16.8 // indirect modernc.org/ccgo/v3 v3.16.8 // indirect

@ -514,8 +514,8 @@ github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPR
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
go.dtapp.net/dorm v1.0.50 h1:Jcg4PMau2toE/0ORlvzGI1Tu0m2DEMDaLgk0Xn5Cca4= go.dtapp.net/dorm v1.0.51 h1:WyN/1T9h0uFLnHwDBlLgN8rzchJSeyblHpTUuwz9Aqc=
go.dtapp.net/dorm v1.0.50/go.mod h1:x/qtG0a80HuM7Lnls0m5U5RyMPO5jUS1/xSBa2ATApc= go.dtapp.net/dorm v1.0.51/go.mod h1:1Yz2YBAm2S4dPtgpBKbXPkEZ4OtYVmhEXQXuZy4I86I=
go.dtapp.net/goip v1.0.38 h1:WHIqXV0qWUM9XDtRaMIMyCKWyd9dWfSvSRdDr7vF7xU= go.dtapp.net/goip v1.0.38 h1:WHIqXV0qWUM9XDtRaMIMyCKWyd9dWfSvSRdDr7vF7xU=
go.dtapp.net/goip v1.0.38/go.mod h1:N2YFFr2OO+5VQwMqyKtg7c4MVrDJOoog/QmIvYUfi1c= go.dtapp.net/goip v1.0.38/go.mod h1:N2YFFr2OO+5VQwMqyKtg7c4MVrDJOoog/QmIvYUfi1c=
go.dtapp.net/golog v1.0.101 h1:LiJzgWkbFpcLEcrJkn9QDb3cDdjZ/Y/6Z7qYLnSf44I= go.dtapp.net/golog v1.0.101 h1:LiJzgWkbFpcLEcrJkn9QDb3cDdjZ/Y/6Z7qYLnSf44I=
@ -748,8 +748,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/mysql v1.4.0 h1:P+gpa0QGyNma39khn1vZMS/eXEJxTwHz4Q26NR4C8fw= gorm.io/driver/mysql v1.4.1 h1:4InA6SOaYtt4yYpV1NF9B2kvUKe9TbvUd1iWrvxnjic=
gorm.io/driver/mysql v1.4.0/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= gorm.io/driver/mysql v1.4.1/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c=
gorm.io/driver/postgres v1.4.4 h1:zt1fxJ+C+ajparn0SteEnkoPg0BQ6wOWXEQ99bteAmw= gorm.io/driver/postgres v1.4.4 h1:zt1fxJ+C+ajparn0SteEnkoPg0BQ6wOWXEQ99bteAmw=
gorm.io/driver/postgres v1.4.4/go.mod h1:whNfh5WhhHs96honoLjBAMwJGYEuA3m1hvgUbNXhPCw= gorm.io/driver/postgres v1.4.4/go.mod h1:whNfh5WhhHs96honoLjBAMwJGYEuA3m1hvgUbNXhPCw=
gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=

@ -3,6 +3,7 @@ package gojobs
import ( import (
"context" "context"
"go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gojobs/jobs_gorm_model"
"go.dtapp.net/gotime"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -183,9 +184,10 @@ func (c *Client) EditTask(tx *gorm.DB, id uint) *gorm.DB {
// UpdateFrequency 更新任务频率 // UpdateFrequency 更新任务频率
func (c *Client) UpdateFrequency(ctx context.Context, tx *gorm.DB, id uint, frequency int64) error { func (c *Client) UpdateFrequency(ctx context.Context, tx *gorm.DB, id uint, frequency int64) error {
err := c.EditTask(tx, id). err := c.EditTask(tx, id).
Select("frequency"). Select("frequency", "next_run_time").
Updates(jobs_gorm_model.Task{ Updates(jobs_gorm_model.Task{
Frequency: frequency, Frequency: frequency,
NextRunTime: gotime.Current().AfterSeconds(frequency).Time,
}).Error }).Error
if err != nil { if err != nil {
c.zapLog.WithTraceId(ctx).Sugar().Errorf("更新任务频率失败:%v", err) c.zapLog.WithTraceId(ctx).Sugar().Errorf("更新任务频率失败:%v", err)

Loading…
Cancel
Save