13 Star 33 Fork 26

go-course / go11

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 1.09 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2023-08-26 17:56 . 补充应用自定义监控
package main
import (
"context"
"os"
"os/signal"
"syscall"
"gitee.com/go-course/go11/devcloud-mini/cmdb/logger"
"gitee.com/go-course/go11/devcloud-mini/maudit/apps/log/provider/kafka"
"gitee.com/go-course/go11/devcloud-mini/maudit/conf"
"gitee.com/go-course/go11/devcloud-mini/maudit/exporter"
"github.com/infraboard/mcube/ioc"
// 加载所有的模块
_ "gitee.com/go-course/go11/devcloud-mini/maudit/apps"
)
func main() {
// 初始化配置
conf.LoadConfigFromEnv()
// 先初始化ioc
err := ioc.InitIocObject()
if err != nil {
panic(err)
}
opp := kafka.NewKafkaOpeateLogProvider()
ctx, cancel := context.WithCancel(context.Background())
// 独立Goroutine跑在后台
go opp.Run(ctx)
exporter.BuildMetric()
// 信号处理 负责阻塞住主进行(Loop Os Signal)
// 处理信号量
ch := make(chan os.Signal, 1)
// 如果os发出了信号后,会把该信号发往 ch channal
signal.Notify(ch, syscall.SIGTERM, syscall.SIGINT, syscall.SIGHUP, syscall.SIGQUIT)
// 从chanel中获取信号
s := <-ch
logger.L().Info().Msgf("receive os signal: %s, exit ...", s)
cancel()
}
Go
1
https://gitee.com/go-course/go11.git
git@gitee.com:go-course/go11.git
go-course
go11
go11
f4276bbab689

搜索帮助

53164aa7 5694891 3bd8fe86 5694891