summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xstatic_pool.go4
-rwxr-xr-xstatic_pool_test.go5
2 files changed, 8 insertions, 1 deletions
diff --git a/static_pool.go b/static_pool.go
index 4ecbdd41..2905742b 100755
--- a/static_pool.go
+++ b/static_pool.go
@@ -43,6 +43,10 @@ type StaticPool struct {
func NewPool(ctx context.Context, cmd func() *exec.Cmd, factory Factory, cfg Config) (Pool, error) {
cfg.InitDefaults()
+ if cfg.HeavyLoad {
+ cfg.NumWorkers = 0
+ }
+
p := &StaticPool{
cfg: cfg,
cmd: cmd,
diff --git a/static_pool_test.go b/static_pool_test.go
index ffa39c2f..a3b19bad 100755
--- a/static_pool_test.go
+++ b/static_pool_test.go
@@ -320,12 +320,15 @@ func Test_StaticPool_Debug_Worker(t *testing.T) {
assert.NotNil(t, p)
- assert.Len(t, p.Workers(), 1)
+ assert.Len(t, p.Workers(), 0)
var lastPID string
res, _ := p.Exec(Payload{Body: []byte("hello")})
assert.NotEqual(t, lastPID, string(res.Body))
+ // todo: necessary?
+ assert.Len(t, p.Workers(), 0)
+
for i := 0; i < 10; i++ {
lastPID = strconv.Itoa(int(p.Workers()[0].Pid()))
res, err := p.Exec(Payload{Body: []byte("hello")})