go语言 beego第一次定时任务和 入门安装 swagger api文档
beego是一个golang流行的自导orm的框架,比gin慢一些据说,但是比较省事。Swagger 是一套围绕OpenAPI规范构建的开源工具,可以帮助我们设计,构建,编写和使用 REST API使用 bee generate docs 生成符合 swagger 使用的两个文档 swagger.json 和 swagger.yml使用命令 bee run -downdoc=true 更新 swa
原文: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
更多推荐
所有评论(0)