From 77bfc0782679afde046733f832aac9a29159ef53 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Tue, 18 Aug 2020 00:03:02 +0800 Subject: [PATCH] fix: job nil bug --- apis/sysjob/sysjob.go | 22 ++++++++++++++++------ go.sum | 3 +++ jobs/jobbase.go | 4 ++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/apis/sysjob/sysjob.go b/apis/sysjob/sysjob.go index 4aee1589..dfb6dc44 100644 --- a/apis/sysjob/sysjob.go +++ b/apis/sysjob/sysjob.go @@ -101,12 +101,22 @@ func StartJob(c *gin.Context) { data.JobId, _ = tools.StringToInt(c.Param("jobId")) result, err := data.Get() tools.HasError(err, "", 500) - j := &jobs.ExecJob{} - j.InvokeTarget = result.InvokeTarget - j.CronExpression = result.CronExpression - j.JobId = result.JobId - j.Name = result.JobName - data.EntryId, err = jobs.AddJob(j) + if result.JobType == 1{ + var j = &jobs.HttpJob{} + j.InvokeTarget = result.InvokeTarget + j.CronExpression = result.CronExpression + j.JobId = result.JobId + j.Name = result.JobName + data.EntryId, err = jobs.AddJob(j) + } else { + var j = &jobs.ExecJob{} + j.InvokeTarget = result.InvokeTarget + j.CronExpression = result.CronExpression + j.JobId = result.JobId + j.Name = result.JobName + data.EntryId, err = jobs.AddJob(j) + } + tools.HasError(err, "", 500) _, err = data.Update(data.JobId) tools.HasError(err, "", 500) diff --git a/go.sum b/go.sum index ddef5c18..78c57b6e 100644 --- a/go.sum +++ b/go.sum @@ -17,6 +17,7 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= @@ -71,6 +72,7 @@ github.com/git-chglog/git-chglog v0.0.0-20190923122001-6050f20bcdb0/go.mod h1:Dc github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= @@ -151,6 +153,7 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jinzhu/gorm v1.9.10 h1:HvrsqdhCW78xpJF67g1hMxS6eCToo9PZH4LDB8WKPac= github.com/jinzhu/gorm v1.9.10/go.mod h1:Kh6hTsSGffh4ui079FHrR5Gg+5D0hgihqDcsDN2BBJY= diff --git a/jobs/jobbase.go b/jobs/jobbase.go index 61402596..e6034060 100644 --- a/jobs/jobbase.go +++ b/jobs/jobbase.go @@ -37,6 +37,10 @@ type ExecJob struct { func (e *ExecJob) Run() { startTime := time.Now() var obj = jobList[e.InvokeTarget] + if obj == nil { + global.JobLogger.Warning(" ExecJob Run job nil", e) + return + } CallExec(obj.(JobsExec)) // 结束时间 endTime := time.Now()