golang queue処理のライブラリを作ってみた
はじめに
開発をしていると度々queueの実装が必要になることが多かったので一々実装するのが面倒になっていた。
そのため、今回jobに関数を渡してqueueを実行するライブラリを作ってみた
導入
queueのライブラリをgo get
go get -u https://github.com/y-ogura/queue
dispatcherの起動
package main import "https://github.com/y-ogura/queue" func main() { // create the job queue. jobQueue := make(chan queue.Job, 10000) // start the dispatcher. dispatcher := queue.NewDispatcher(jobQueue, 5) dispatcher.Run() }
Jobの追加
// add new job jobQueue <- func() error { // 実行したいJobの関数 err := xxxFunction(arg) return err }