beego开启定时任务

beego开启定时任务

       最近利用空闲时间用beego搭了个任务管理系统,需要用到定时任务来执行每日任务,并且发送通知,刚好beego的toolbox模块支持定时任务,大家可以查看toolbox 

       下面跟大家分享一下定时任务代码,我们在beego项目目录下创建一个utils目录,然后创建一个文件名为Task.go用于定时任务,代码如下

package utils

import (
   "github.com/astaxie/beego/toolbox"
   "time"
)

/**
定时任务
 */
func InitTask() {
   //创建一个任务
   nodeMonitoringTask := toolbox.NewTask("nodeMonitoring", "0 0 10 * * *", NodeMonitoring)
   //全局任务
   toolbox.AddTask("nodeMonitoring", nodeMonitoringTask)
}

/**
节点监控过期
 */
func NodeMonitoring() error {
   //业务代码
   //返回
   return nil
}

       然后我们在main.go文件下修改main方法,修改后代码如下

package main

import (
   _ "huaweiCloudNodeManagement/routers"
   "github.com/astaxie/beego"
   "huaweiCloudNodeManagement/utils"
   "github.com/astaxie/beego/toolbox"
)

func main() {
   // 定时任务
   utils.InitTask()
   toolbox.StartTask()
   defer toolbox.StopTask()
   //执行
   beego.Run()
}

       这样我们启动项目之后,就会根据我们设置的定时任务去执行,上面的demo中,我设定是每天10点执行一次定时任务,更多配置大家可以参考上面文档链接。

0条评论

发表评论