diff options
author | Wolfy-J <[email protected]> | 2018-01-28 18:20:30 +0300 |
---|---|---|
committer | Wolfy-J <[email protected]> | 2018-01-28 18:20:30 +0300 |
commit | 1e689bdd7a0c0cde85f47091afcee7f292c4cafd (patch) | |
tree | 10dd641a003875cc524d2f84cf4f9f19b43597b5 | |
parent | 6551be42e3b1afb39c22a0702a70d02dabbb77d4 (diff) |
cs
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | pool.go | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -17,8 +17,8 @@ Features: - automatic worker replacement and safe destruction - worker lifecycle management (create/allocate/destroy timeouts) - payload context +- control over max jobs per worker - protocol, worker and job level error management -- limit max worker executions - very fast (~250k calls per second on Ryzen 1700X over 16 threads) - works on Windows @@ -95,7 +95,6 @@ func (p *Pool) Exec(rqs *Payload) (rsp *Payload, err error) { return nil, errors.Wrap(err, "unable to allocate worker") } - //todo: timeout rsp, err = w.Exec(rqs) if err != nil { @@ -165,6 +164,8 @@ func (p *Pool) replaceWorker(w *Worker, caused interface{}) { go p.destroyWorker(w) nw, _ := p.createWorker() + + // if unable to create, retry ? or report error p.free <- nw } @@ -207,7 +208,6 @@ func (p *Pool) createWorker() (*Worker, error) { log.Println(err) - //todo: automatic replace } }(w) |