Skip to content

Commit 8d8a352

Browse files
authored
Fix shutdown of log generator component (#43)
1 parent 7376c67 commit 8d8a352

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

internal/generator/generator.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,20 +132,15 @@ func NewLogGenerator(opts Options, registry *prometheus.Registry) (*LogGenerator
132132
return &generator, nil
133133
}
134134

135-
func (g *LogGenerator) Start(ctx context.Context, wg *sync.WaitGroup, errCh chan<- error) {
135+
func (g *LogGenerator) Start(ctx context.Context, wg *sync.WaitGroup, _ chan<- error) {
136136
wg.Add(1)
137-
go func() {
138-
<-ctx.Done()
139-
log.Debug("Shutting down log generator...")
140-
g.deferClose()
141-
}()
142137
go func() {
143138
defer wg.Done()
144-
g.GenerateLogs()
139+
g.generateLogs(ctx)
145140
}()
146141
}
147142

148-
func (g *LogGenerator) GenerateLogs() {
143+
func (g *LogGenerator) generateLogs(ctx context.Context) {
149144
host, err := os.Hostname()
150145
if err != nil {
151146
log.Fatalf("error getting hostname: %s", err)
@@ -160,6 +155,11 @@ func (g *LogGenerator) GenerateLogs() {
160155
}
161156

162157
for {
158+
if err := ctx.Err(); err != nil {
159+
log.Debug("Shutting down log generator...")
160+
break
161+
}
162+
163163
next := time.Now().UTC().Add(1 * time.Second)
164164

165165
for i := 0; i < g.rate; i++ {

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func main() {
9090

9191
wg := &sync.WaitGroup{}
9292
errCh := make(chan error, 1)
93-
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM|syscall.SIGINT)
93+
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
9494
defer cancel()
9595

9696
go func() {

0 commit comments

Comments
 (0)