定时任务手动执行一次

This commit is contained in:
yxh
2021-10-22 17:09:55 +08:00
parent 2f2ccb7d7c
commit 4e0255658c
3 changed files with 32 additions and 0 deletions
+14
View File
@@ -105,6 +105,20 @@ func (c *sysJob) Stop(r *ghttp.Request) {
c.SusJsonExit(r, "定时任务管理停止成功") c.SusJsonExit(r, "定时任务管理停止成功")
} }
// Run 执行任务
func (c *sysJob) Run(r *ghttp.Request) {
id := r.GetInt64("id")
job, err := service.SysJob.GetJobInfoById(id)
if err != nil {
c.FailJsonExit(r, err.Error())
}
err = service.SysJob.JobRun(job)
if err != nil {
c.FailJsonExit(r, "定时任务管理执行"+err.Error())
}
c.SusJsonExit(r, "定时任务管理执行成功")
}
// Delete 删除任务 // Delete 删除任务
func (c *sysJob) Delete(r *ghttp.Request) { func (c *sysJob) Delete(r *ghttp.Request) {
ids := r.GetInts("ids") ids := r.GetInts("ids")
+1
View File
@@ -137,6 +137,7 @@ func init() {
group.PUT("edit", api.SysJob.Edit) group.PUT("edit", api.SysJob.Edit)
group.PUT("start", api.SysJob.Start) group.PUT("start", api.SysJob.Start)
group.PUT("stop", api.SysJob.Stop) group.PUT("stop", api.SysJob.Stop)
group.PUT("run", api.SysJob.Run)
group.DELETE("delete", api.SysJob.Delete) group.DELETE("delete", api.SysJob.Delete)
}) })
//服务监控 //服务监控
+17
View File
@@ -150,6 +150,23 @@ func (s *sysJob) JobStop(job *model.SysJob) error {
return err return err
} }
// JobRun 执行任务
func (s *sysJob) JobRun(job *model.SysJob) error {
//可以task目录下是否绑定对应的方法
f := TimeTaskList.GetByName(job.InvokeTarget)
if f == nil {
return gerror.New("当前task目录下没有绑定这个方法")
}
//传参
paramArr := strings.Split(job.JobParams, "|")
TimeTaskList.EditParams(f.FuncName, paramArr)
task, err := gcron.AddOnce("@every 1s", f.Run)
if err != nil || task == nil {
return gerror.New("启动执行失败")
}
return nil
}
// DeleteJobByIds 删除任务 // DeleteJobByIds 删除任务
func (s *sysJob) DeleteJobByIds(ids []int) (err error) { func (s *sysJob) DeleteJobByIds(ids []int) (err error) {
if len(ids) == 0 { if len(ids) == 0 {