
go-queue
go-queue is task queue for concurrency(go-queue 是一个通用的并发通道,可以自定义同时并发数和自定义并发任务)
How to get
go get github.com/JimYJ/go-queue
Usage
import:
import "github.com/JimYJ/go-queue"
init and use:
func main() {
queue.Debug()
queue.InitQueue(2, true, true)
queue.SetConcurrentInterval(1 * time.Millisecond)
for i := 0; i < 10; i++ {
job := new(queue.Job)
job.ID = int64(i)
job.FuncQueue = youfunc
job.Payload = []interface{}{100, 50}
queue.Push(job)
}
queue.Done()
log.Println(queue.FailList)
}
func youfunc(value ...interface{}) error {
return errors.New("error info")
}