Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 762 Bytes

README.md

File metadata and controls

39 lines (28 loc) · 762 Bytes

SPLANNER


A really nice pool worker


Config

  • In your main file or something like that
// init the shared data structure.
splanner.InitQueue(20)

// init the dispatcher & keep it listening.
splanner.NewDispatcher(15).Run(true)
  • The caller should have something similar...
type HeavyWork struct {
    Name   string
    number int
}

// implement the job method, and heavyWork is now implementing the Unit interface
func (p *HeavyWork) Job() error {
    time.Sleep(500 * time.Millisecond)
    fmt.Println(fmt.Sprintf("heavy job is running %d", p.number))
    return nil
}

work := HeavyWork{Name: q, number: a}
// add the work here, could be in a loop to add more than one or whatever you want
splanner.AddUnit(&work)