2 Commits

Author SHA1 Message Date
47f249af82 with manager 2022-09-21 22:24:24 +02:00
a59a278140 with callback instead 2022-09-21 22:19:54 +02:00

View File

@@ -4,7 +4,6 @@ import (
"context" "context"
"os" "os"
"sync" "sync"
"time"
) )
const ( const (
@@ -34,15 +33,10 @@ func NewManager() *Manager {
type ComponentsAreReady struct { type ComponentsAreReady struct {
} }
func (m *Manager) RunNonBlocking(ctx context.Context, readyChan chan ComponentsAreReady) error { type CleanupFunc func(ctx context.Context) error
func (m *Manager) RunNonBlocking(ctx context.Context, readyChan chan ComponentsAreReady) (CleanupFunc, error) {
go func() error { go func() error {
defer func() {
ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
err := m.shutdown(ctx)
if err != nil {
panic(err)
}
}()
m.initLifetime() m.initLifetime()
err := m.init(ctx) err := m.init(ctx)
if err != nil { if err != nil {
@@ -63,7 +57,10 @@ func (m *Manager) RunNonBlocking(ctx context.Context, readyChan chan ComponentsA
return nil return nil
}() }()
return nil
return func(ctx context.Context) error {
return m.shutdown(ctx)
}, nil
} }
func (m *Manager) Run(ctx context.Context) error { func (m *Manager) Run(ctx context.Context) error {