func srv(ctx *cli.Context) { service := micro.NewService( micro.Name("go.micro.srv.auth"), micro.RegisterTTL( time.Duration(ctx.GlobalInt("register_ttl"))*time.Second, ), micro.RegisterInterval( time.Duration(ctx.GlobalInt("register_interval"))*time.Second, ), ) if len(ctx.GlobalString("database_url")) > 0 { mysql.Url = ctx.GlobalString("database_url") } // register account handler account.RegisterAccountHandler(service.Server(), new(handler.Account)) // register oauth2 handler oauth2.RegisterOauth2Handler(service.Server(), new(handler.Oauth2)) // initialise database if err := db.Init(); err != nil { log.Fatal(err) } if err := service.Run(); err != nil { log.Fatal(err) } }
func main() { service := micro.NewService( micro.Name("go.micro.srv.auth"), micro.Flags( cli.StringFlag{ Name: "database_url", EnvVar: "DATABASE_URL", Usage: "The database URL e.g root@tcp(127.0.0.1:3306)/auth", }, ), micro.Action(func(c *cli.Context) { if len(c.String("database_url")) > 0 { mysql.Url = c.String("database_url") } }), ) // initialise service service.Init() // register account handler account.RegisterAccountHandler(service.Server(), new(handler.Account)) // register oauth2 handler oauth2.RegisterOauth2Handler(service.Server(), new(handler.Oauth2)) // initialise database if err := db.Init(); err != nil { log.Fatal(err) } if err := service.Run(); err != nil { log.Fatal(err) } }