Files
spyda/internal/func_task.go
2021-02-02 13:13:12 +10:00

26 lines
367 B
Go

package internal
import "fmt"
type FuncTask struct {
*BaseTask
f func() error
}
func NewFuncTask(f func() error) *FuncTask {
return &FuncTask{
BaseTask: NewBaseTask(),
f: f,
}
}
func (t *FuncTask) String() string { return fmt.Sprintf("%T: %s", t, t.ID()) }
func (t *FuncTask) Run() error {
defer t.Done()
t.SetState(TaskStateRunning)
return t.f()
}