原文:https://www.cnblogs.com/yuzhould/p/5629456.html

一 引用执行一下 MyTask2函数即可

缺点 没有使用 sync.WaitGroup ,不太会用,报错

panic: sync: negative WaitGroup counter

https://www.jianshu.com/p/034158317ff4

func SyncFoodTaskSyncFoodTask() error {
	// defer TimerWg.Done()
	logs.Error("定时任务MyTask2 hello time:%v", time.Now())
	return nil
}

func MyTask2() {
	cronExpress := beego.AppConfig.String("xxxxx.xxxxx")
	if cronExpress == "" {
		cronExpress = "* * */1 * * *" //默认一个小时执行一次
	}
	beego.Info("Cron Express:" + cronExpress)
	tk1 := toolbox.NewTask("mytask", "0/30 * * * * * ", SyncFoodTaskSyncFoodTask)
	tk1.Run() //这个run会立即执行,不管定时多久,也许你的任务耗时颇久,使用这个函数你就无法做到类似异步的操作了。

	toolbox.AddTask("mytask", tk1)
	toolbox.StartTask() //真真切切定时执行。

}

二 安装 部署和 swagger

1 全局 安装bee工具
A 直接 go get bee 之后去去 $GOPATH 的 github里面去找
B 去github上面下载,go build 之后得到 bee的二进制文件 放到全局 bin命令里面

2 bee创建 beego项目 - bee new 项目名 和 bee api 项目名 ,这两个命令最后生成的项目区别,在于后者别前者少一个 views目录

bee api beegoApi

3 生成swagger文档

Swagger 是一套围绕OpenAPI规范构建的开源工具,可以帮助我们设计,构建,编写和使用 REST API
使用 bee generate docs 生成符合 swagger 使用的两个文档 swagger.json 和 swagger.yml
使用命令 bee run -downdoc=true 更新 swagger-ui ,如果 swagger 目录没有 swagger-ui 则会自动下载安装
使用命令 bee run -gendoc=true 让项目重新编译也会生成 swagger 文档
重点: 这里建议 直接使用命令 bee run -gendoc=true -downdoc=true 结合两个方法

bee generate docs
bee run -gendoc=true -downdoc=true
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐