mirror of
https://github.com/safing/portbase
synced 2025-09-04 11:40:23 +00:00
Merge pull request #181 from safing/fix/canceled-tasks
Stop logging an error for canceled tasks and workers
This commit is contained in:
commit
f5420b71eb
2 changed files with 19 additions and 4 deletions
|
@ -3,6 +3,7 @@ package modules
|
||||||
import (
|
import (
|
||||||
"container/list"
|
"container/list"
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
@ -382,7 +383,12 @@ func (t *Task) executeWithLocking() {
|
||||||
|
|
||||||
// run
|
// run
|
||||||
err := t.taskFn(t.ctx, t)
|
err := t.taskFn(t.ctx, t)
|
||||||
if err != nil {
|
switch {
|
||||||
|
case err == nil:
|
||||||
|
return
|
||||||
|
case errors.Is(err, context.Canceled):
|
||||||
|
log.Debugf("%s: task %s was canceled: %s", t.module.Name, t.name, err)
|
||||||
|
default:
|
||||||
log.Errorf("%s: task %s failed: %s", t.module.Name, t.name, err)
|
log.Errorf("%s: task %s failed: %s", t.module.Name, t.name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,13 @@ var (
|
||||||
func (m *Module) StartWorker(name string, fn func(context.Context) error) {
|
func (m *Module) StartWorker(name string, fn func(context.Context) error) {
|
||||||
go func() {
|
go func() {
|
||||||
err := m.RunWorker(name, fn)
|
err := m.RunWorker(name, fn)
|
||||||
if err != nil {
|
switch {
|
||||||
log.Warningf("%s: worker %s failed: %s", m.Name, name, err)
|
case err == nil:
|
||||||
|
return
|
||||||
|
case errors.Is(err, context.Canceled):
|
||||||
|
log.Debugf("%s: worker %s was canceled: %s", m.Name, name, err)
|
||||||
|
default:
|
||||||
|
log.Errorf("%s: worker %s failed: %s", m.Name, name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
@ -87,7 +92,11 @@ func (m *Module) runServiceWorker(name string, backoffDuration time.Duration, fn
|
||||||
lastFail = time.Now()
|
lastFail = time.Now()
|
||||||
// log error
|
// log error
|
||||||
sleepFor := time.Duration(failCnt) * backoffDuration
|
sleepFor := time.Duration(failCnt) * backoffDuration
|
||||||
log.Errorf("%s: service-worker %s failed (%d): %s - restarting in %s", m.Name, name, failCnt, err, sleepFor)
|
if errors.Is(err, context.Canceled) {
|
||||||
|
log.Debugf("%s: service-worker %s was canceled (%d): %s - restarting in %s", m.Name, name, failCnt, err, sleepFor)
|
||||||
|
} else {
|
||||||
|
log.Errorf("%s: service-worker %s failed (%d): %s - restarting in %s", m.Name, name, failCnt, err, sleepFor)
|
||||||
|
}
|
||||||
select {
|
select {
|
||||||
case <-time.After(sleepFor):
|
case <-time.After(sleepFor):
|
||||||
case <-m.Ctx.Done():
|
case <-m.Ctx.Done():
|
||||||
|
|
Loading…
Add table
Reference in a new issue