Compare commits

..

No commits in common. "4e041b3aca5aa29307a650051eeaca97f09b28e1" and "d9deade1850106b82673771b359a8f257e4299db" have entirely different histories.

View File

@ -6,7 +6,6 @@ package poll
import ( import (
"context" "context"
"errors" "errors"
"fmt"
"sync" "sync"
runnerv1 "code.gitea.io/actions-proto-go/runner/v1" runnerv1 "code.gitea.io/actions-proto-go/runner/v1"
@ -46,30 +45,19 @@ func (p *Poller) Poll(ctx context.Context) {
func (p *Poller) poll(ctx context.Context, wg *sync.WaitGroup, limiter *rate.Limiter) { func (p *Poller) poll(ctx context.Context, wg *sync.WaitGroup, limiter *rate.Limiter) {
defer wg.Done() defer wg.Done()
for { for {
p.pollTaskWithRateLimit(ctx, limiter) if err := limiter.Wait(ctx); err != nil {
} if ctx.Err() != nil {
} log.WithError(err).Debug("limiter wait failed")
}
func (p *Poller) pollTaskWithRateLimit(ctx context.Context, limiter *rate.Limiter) { return
defer func() {
if r := recover(); r != nil {
err := fmt.Errorf("panic: %v", r)
log.WithError(err).Error("panic in pollTaskWithRateLimit")
} }
}() task, ok := p.fetchTask(ctx)
if !ok {
if err := limiter.Wait(ctx); err != nil { continue
if ctx.Err() != nil { }
log.WithError(err).Debug("limiter wait failed") if err := p.runner.Run(ctx, task); err != nil {
log.WithError(err).Error("failed to run task")
} }
return
}
task, ok := p.fetchTask(ctx)
if !ok {
return
}
if err := p.runner.Run(ctx, task); err != nil {
log.WithError(err).Error("failed to run task")
} }
} }