| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "context"
- "flag"
- "fmt"
- "slowwildws/internal/config"
- "slowwildws/internal/handler"
- "slowwildws/internal/queue"
- "slowwildws/internal/svc"
- "github.com/zeromicro/go-zero/core/conf"
- "github.com/zeromicro/go-zero/core/service"
- "github.com/zeromicro/go-zero/rest"
- )
- var configFile = flag.String("f", "etc/slowwildws-api.yaml", "the config file")
- func main() {
- flag.Parse()
- var c config.Config
- conf.MustLoad(*configFile, &c)
- server := rest.MustNewServer(c.RestConf)
- defer server.Stop()
- ctx := svc.NewServiceContext(c)
- handler.RegisterHandlers(server, ctx)
- go func(svc *svc.ServiceContext, conf config.Config) {
- // 创建消息消费队列
- serviceGroup := service.NewServiceGroup()
- services := queue.Consumers(conf, context.Background(), svc)
- defer serviceGroup.Stop()
- for _, server := range services {
- serviceGroup.Add(server)
- }
- fmt.Printf("starting websocket consumer queue server....\n")
- serviceGroup.Start()
- }(ctx, c)
- fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
- server.Start()
- }
|