From 7f12ec6a01145319668a6dbd3f0ca29bdf869af9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Sun, 9 Oct 2022 00:16:02 +0800 Subject: [PATCH] - add next_run_time --- const.go | 2 +- create_in.go | 5 +++++ create_wait.go | 2 ++ go.mod | 4 ++-- go.sum | 8 ++++---- gorm_model.go | 6 ++++-- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/const.go b/const.go index 5ed9f69..9d1944e 100644 --- a/const.go +++ b/const.go @@ -1,6 +1,6 @@ package gojobs const ( - Version = "1.0.110" + Version = "1.0.111" SpecifyIpNull = "0.0.0.0" ) diff --git a/create_in.go b/create_in.go index ddaf148..543c019 100644 --- a/create_in.go +++ b/create_in.go @@ -6,6 +6,7 @@ import ( "fmt" "go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gostring" + "go.dtapp.net/gotime" "gorm.io/gorm" ) @@ -40,6 +41,7 @@ func (c *Client) CreateInCustomId(ctx context.Context, config *ConfigCreateInCus CreatedIp: config.CurrentIp, SpecifyIp: config.SpecifyIp, UpdatedIp: config.CurrentIp, + NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time, }).Error if err != nil { 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, SpecifyIp: config.SpecifyIp, UpdatedIp: config.CurrentIp, + NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time, }).Error if err != nil { 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, SpecifyIp: config.SpecifyIp, UpdatedIp: config.CurrentIp, + NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time, }).Error if err != nil { 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, SpecifyIp: config.SpecifyIp, UpdatedIp: config.CurrentIp, + NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time, }).Error if err != nil { return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) diff --git a/create_wait.go b/create_wait.go index dda2ffa..afc1b01 100644 --- a/create_wait.go +++ b/create_wait.go @@ -6,6 +6,7 @@ import ( "fmt" "go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gostring" + "go.dtapp.net/gotime" "gorm.io/gorm" ) @@ -40,6 +41,7 @@ func (c *Client) CreateWaitCustomId(ctx context.Context, config *ConfigCreateWai CreatedIp: config.CurrentIp, SpecifyIp: config.SpecifyIp, UpdatedIp: config.CurrentIp, + NextRunTime: gotime.Current().AfterSeconds(config.Frequency).Time, }).Error if err != nil { return errors.New(fmt.Sprintf("创建[%s@%s]任务失败:%s", config.CustomId, config.Type, err.Error())) diff --git a/go.mod b/go.mod index bf136eb..25c5bc4 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/jasonlvhit/gocron v0.0.1 github.com/robfig/cron/v3 v3.0.1 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/golog v1.0.101 go.dtapp.net/gostring v1.0.10 @@ -93,7 +93,7 @@ require ( golang.org/x/text v0.3.7 // indirect google.golang.org/protobuf v1.28.1 // 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 mellium.im/sasl v0.3.0 // indirect modernc.org/ccgo/v3 v3.16.8 // indirect diff --git a/go.sum b/go.sum index 16babc0..390d8eb 100644 --- a/go.sum +++ b/go.sum @@ -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/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= 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.50/go.mod h1:x/qtG0a80HuM7Lnls0m5U5RyMPO5jUS1/xSBa2ATApc= +go.dtapp.net/dorm v1.0.51 h1:WyN/1T9h0uFLnHwDBlLgN8rzchJSeyblHpTUuwz9Aqc= +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/go.mod h1:N2YFFr2OO+5VQwMqyKtg7c4MVrDJOoog/QmIvYUfi1c= 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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 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.0/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= +gorm.io/driver/mysql v1.4.1 h1:4InA6SOaYtt4yYpV1NF9B2kvUKe9TbvUd1iWrvxnjic= +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/go.mod h1:whNfh5WhhHs96honoLjBAMwJGYEuA3m1hvgUbNXhPCw= gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= diff --git a/gorm_model.go b/gorm_model.go index a3d50bb..e488940 100644 --- a/gorm_model.go +++ b/gorm_model.go @@ -3,6 +3,7 @@ package gojobs import ( "context" "go.dtapp.net/gojobs/jobs_gorm_model" + "go.dtapp.net/gotime" "gorm.io/gorm" ) @@ -183,9 +184,10 @@ func (c *Client) EditTask(tx *gorm.DB, id uint) *gorm.DB { // UpdateFrequency 更新任务频率 func (c *Client) UpdateFrequency(ctx context.Context, tx *gorm.DB, id uint, frequency int64) error { err := c.EditTask(tx, id). - Select("frequency"). + Select("frequency", "next_run_time"). Updates(jobs_gorm_model.Task{ - Frequency: frequency, + Frequency: frequency, + NextRunTime: gotime.Current().AfterSeconds(frequency).Time, }).Error if err != nil { c.zapLog.WithTraceId(ctx).Sugar().Errorf("更新任务频率失败:%v", err)