Remove passing argument and make gs ready

This commit is contained in:
Daniel Oliveira
2021-01-20 20:23:43 +01:00
parent e0543bc089
commit b91460bea6
2 changed files with 13 additions and 5 deletions

View File

@ -63,8 +63,10 @@ func NewCommand() *cobra.Command {
} }
if opts.WithAgones { if opts.WithAgones {
agones := &extensions.Agones{} agones := &extensions.Agones{
if err := agones.Start(ctx, &s); err != nil { Server: &s,
}
if err := agones.Start(ctx); err != nil {
panic(err) panic(err)
} }
} else { } else {

View File

@ -15,16 +15,19 @@ type Agones struct {
sdk *sdk.SDK sdk *sdk.SDK
} }
func (a *Agones) Start(ctx context.Context, server *quakeserver.Server) error { func (a *Agones) Start(ctx context.Context) error {
if err := a.InitSdk(); err != nil { if err := a.InitSdk(); err != nil {
return err return err
} }
a.Server = server
if err := a.sdk.Ready(); err != nil {
return err
}
go a.StartHeathCheck(ctx) go a.StartHeathCheck(ctx)
go a.TrackStatus(ctx) go a.TrackStatus(ctx)
if err := server.Start(ctx); err != nil { if err := a.Server.Start(ctx); err != nil {
return errors.Wrap(err, "failed to start server") return errors.Wrap(err, "failed to start server")
} }
@ -44,8 +47,10 @@ func (a *Agones) InitSdk() error {
} }
func (a *Agones) StartHeathCheck(ctx context.Context) { func (a *Agones) StartHeathCheck(ctx context.Context) {
log.Print("[Agones] starting health check")
tick := time.Tick(2 * time.Second) tick := time.Tick(2 * time.Second)
maxAttempts := 0 maxAttempts := 0
for { for {
if err := a.sdk.Health(); err != nil { if err := a.sdk.Health(); err != nil {
if maxAttempts > 5 { if maxAttempts > 5 {
@ -53,6 +58,7 @@ func (a *Agones) StartHeathCheck(ctx context.Context) {
} }
maxAttempts++ maxAttempts++
} else { } else {
log.Print("[Agones] ping")
maxAttempts = 0 maxAttempts = 0
} }