refactor: improve task management with xsync for concurrent access and enhance callback and subtasks handling as well as memory allocation

This commit is contained in:
yusing
2025-05-25 15:01:44 +08:00
parent ade93d49a3
commit c1221e61d4
16 changed files with 447 additions and 211 deletions

View File

@@ -0,0 +1,27 @@
//go:build debug
package task
import (
"runtime/debug"
"github.com/rs/zerolog/log"
)
func panicWithDebugStack() {
panic(string(debug.Stack()))
}
func panicIfFinished(t *Task, reason string) {
if t.isFinished() {
log.Panic().Msg("task " + t.String() + " is finished but " + reason)
}
}
func logStarted(t *Task) {
log.Info().Msg("task " + t.String() + " started")
}
func logFinished(t *Task) {
log.Info().Msg("task " + t.String() + " finished")
}