tcfw / go-queue

Chan based queue worker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go-Queue

PkgGoDev Go Report Card

A simple generic chan based queue worker

License

Please refer to LICENSE.md

Examples

Simple example

package main 

import (
	queue "github.com/tcfw/go-queue"
)

type Processor struct {}

func (p *Processor) Handle(job interface{}) {
	//Handle job...
}

func main() {
	processor := &Processor{}

	dispatcher := queue.NewDispatcher(processor)
	dispatcher.Run()
}

Specify number of workers

package main 

import (
	queue "github.com/tcfw/go-queue"
)

type Processor struct {}

func (p *Processor) Handle(job interface{}) {
	//Handle job...
}

func main() {
	processor := &Processor{}

	dispatcher := queue.NewDispatcher(processor)
	//20 workers will be created 
	dispatcher.MaxWorkers = 20
	dispatcher.Run()
}

About

Chan based queue worker

License:MIT License


Languages

Language:Go 100.0%