forked from yuxh/gearman-go
		
	More helpful panic if you call Work() before you call Ready()
This commit is contained in:
		
							parent
							
								
									e9ce09b885
								
							
						
					
					
						commit
						24e93b4a2c
					
				| @ -22,6 +22,7 @@ type Worker struct { | |||||||
| 	funcs   jobFuncs | 	funcs   jobFuncs | ||||||
| 	in      chan *inPack | 	in      chan *inPack | ||||||
| 	running bool | 	running bool | ||||||
|  | 	ready bool | ||||||
| 
 | 
 | ||||||
| 	Id           string | 	Id           string | ||||||
| 	ErrorHandler ErrorHandler | 	ErrorHandler ErrorHandler | ||||||
| @ -174,12 +175,17 @@ func (worker *Worker) Ready() (err error) { | |||||||
| 	for funcname, f := range worker.funcs { | 	for funcname, f := range worker.funcs { | ||||||
| 		worker.addFunc(funcname, f.timeout) | 		worker.addFunc(funcname, f.timeout) | ||||||
| 	} | 	} | ||||||
|  | 	worker.ready = true | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Main loop, block here
 | // Main loop, block here
 | ||||||
| // Most of time, this should be evaluated in goroutine.
 | // Most of time, this should be evaluated in goroutine.
 | ||||||
| func (worker *Worker) Work() { | func (worker *Worker) Work() { | ||||||
|  | 	if ! worker.ready { | ||||||
|  | 		panic( "worker: Work() called before Ready()") | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	defer func() { | 	defer func() { | ||||||
| 		for _, a := range worker.agents { | 		for _, a := range worker.agents { | ||||||
| 			a.Close() | 			a.Close() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user