tasker.go 432 B

123456789101112131415161718192021222324252627282930
  1. package seq
  2. import "errors"
  3. type Tasker struct {
  4. seq map[string]*Seq
  5. }
  6. func NewTasker() *Tasker {
  7. return &Tasker{map[string]*Seq{}}
  8. }
  9. func (t *Tasker) Task(name string) *Seq {
  10. v, ok := t.seq[name]
  11. if !ok {
  12. v = NewSeq()
  13. t.seq[name] = v
  14. }
  15. return v
  16. }
  17. func (t *Tasker) Exec(name string, params ...interface{}) error {
  18. s, ok := t.seq[name]
  19. if !ok {
  20. return errors.New("Task Not found")
  21. }
  22. return s.Exec(params...)
  23. }