触点数字孪生,揭秘它的独特魅力
798
2022-10-12
Myf框架的Golang框架核心库(golang 数据库框架)
myf-go
Myf框架的Golang框架核心库
特性
cat埋点的客户端实现,包括:mysql、redis、http订制的请求context,自动熔断超时请求,提供多种丰富特性原生的gin操作体验
初始化项目
例如,新建项目地址:https://github.com/owenliang/myf-go-mvc,则依次执行如下:
go mod init github.com/owenliang/myf-go-mvcgo get -u github.com/owenliang/myf-go@最新tag版本
开发web应用
创建main.go如下:
package mainimport ( "flag" "fmt" "github.com/gin-gonic/gin" "github.com/owenliang/myf-go/app" "github.com/owenliang/myf-go/mcontext" "os")func Test(ctx *mcontext.MyfContext) { ctx.JSON(200, &gin.H{ "error_code": 0, "error_msg": "", "data": nil, })}func main() { flag.Parse() if myfApp, err := app.New(); err == nil { myfApp.Gin.GET("/test", myfApp.WithMyfContext(Test)) myfApp.Run() } else { fmt.Fprintln(os.Stderr, err) }}
编写app.toml:
domain = "myf-go.smmyf.com"debug = 1# web模式[App]listen = "0.0.0.0:8087"# cat配置[Cat] isOpen = true
启动:
go run main.go -conf ./app.toml
开发cron定时任务
package mainimport ( "flag" "fmt" "github.com/owenliang/myf-go/cron" "github.com/owenliang/myf-go/cron/middlewares" "github.com/owenliang/myf-go/mcontext" "time")func task1(myfCtx *mcontext.MyfContext) { // <- myfCtx.Done()}func main() { flag.Parse() if myfCron, err := cron.New(); err == nil { myfCron.AddJob("mytask", "* * * * *", middlewares.WithTimeout(5 * time.Second), myfCron.WithMyfContext(task1)) myfCron.Run() } else { fmt.Println(err) }}
编写app.toml:
domain = "myf-go.smmyf.com"debug = 1# cron模式[Cron]waitGraceExit = 5000# cat配置[Cat] isOpen = true
启动:
go run main.go -conf ./app.toml
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。