Versions in this module Expand all Collapse all v1 v1.0.1 Aug 26, 2026 Changes in this version + var ErrRunnerClosed = errors.New("runner closed") + var ErrTaskRunnerBusy = errors.New("task runner is busy") + func GoSafe(fn func()) + func GoSafeCtx(ctx context.Context, fn func()) + func RoutineId() uint64 + func RunSafe(fn func()) + func RunSafeCtx(ctx context.Context, fn func()) + type RoutineGroup struct + func NewRoutineGroup() *RoutineGroup + func (g *RoutineGroup) Run(fn func()) + func (g *RoutineGroup) RunSafe(fn func()) + func (g *RoutineGroup) Wait() + type StableRunner struct + func NewStableRunner[I, O any](fn func(I) O) *StableRunner[I, O] + func (r *StableRunner[I, O]) Get() (O, error) + func (r *StableRunner[I, O]) Push(v I) error + func (r *StableRunner[I, O]) Wait() + type TaskRunner struct + func NewTaskRunner(concurrency int) *TaskRunner + func (rp *TaskRunner) Schedule(task func()) + func (rp *TaskRunner) ScheduleImmediately(task func()) error + func (rp *TaskRunner) Wait() + type WorkerGroup struct + func NewWorkerGroup(job func(), workers int) WorkerGroup + func (wg WorkerGroup) Start()