Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WorkQueue = make(chan WorkRequest, 100)
View Source
var WorkerQueue chan chan WorkRequest
Functions ¶
func StartDispatcher ¶
func StartDispatcher(nworkers int)
StartDispatcher is charged to start n workers.
Types ¶
type ChanWriter ¶
type ChanWriter struct {
ByteChan chan []byte
}
ChanWriter is a simple writer to a channel of byte.
type WorkRequest ¶
type WorkRequest struct { ID uint64 Name string Script string Payload string Args []string MessageChan chan []byte Timeout int Terminated bool // contains filtered or unexported fields }
WorkRequest is a request of work for a worker
func NewWorkRequest ¶ added in v1.2.2
func NewWorkRequest(name, script, payload string, args []string, timeout int) *WorkRequest
NewWorkRequest creats new work request
func (*WorkRequest) IsTerminated ¶ added in v1.2.6
func (wr *WorkRequest) IsTerminated() bool
IsTerminated ask if the work request is terminated
func (*WorkRequest) Terminate ¶ added in v1.2.6
func (wr *WorkRequest) Terminate()
Terminate set work request as terminated
type Worker ¶
type Worker struct { ID int Work chan WorkRequest WorkerQueue chan chan WorkRequest QuitChan chan bool }
Worker is a go routine in charge of executing a work.
func NewWorker ¶
func NewWorker(id int, workerQueue chan chan WorkRequest) Worker
NewWorker creates, and returns a new Worker object. Its only argument is a channel that the worker can add itself to whenever it is done its work.
Click to show internal directories.
Click to hide internal directories.