feat: set runtime.NumCPU() as default worker num value (#174)

This commit is contained in:
Bo-Yi Wu 2017-01-25 16:29:35 +08:00 committed by GitHub
parent aff833cd0c
commit 962c033246
4 changed files with 17 additions and 5 deletions

View File

@ -57,8 +57,10 @@ See the [YAML config example](config/config.yml):
```yaml ```yaml
core: core:
port: "8088" port: "8088"
worker_num: 8 # default worker number is runtime.NumCPU()
queue_num: 8192 worker_num: 0
# default queue number is 8192
queue_num: 0
max_notification: 100 max_notification: 100
mode: "release" mode: "release"
ssl: false ssl: false

View File

@ -182,5 +182,13 @@ func LoadConfYaml(confPath string) (ConfYaml, error) {
return config, err return config, err
} }
if config.Core.WorkerNum == int64(0) {
config.Core.WorkerNum = int64(runtime.NumCPU())
}
if config.Core.QueueNum == int64(0) {
config.Core.QueueNum = int64(8192)
}
return config, nil return config, nil
} }

View File

@ -1,7 +1,9 @@
core: core:
port: "8088" port: "8088"
worker_num: 8 # default worker number is runtime.NumCPU()
queue_num: 8192 worker_num: 0
# default queue number is 8192
queue_num: 0
max_notification: 100 max_notification: 100
mode: "release" mode: "release"
ssl: false ssl: false

View File

@ -112,7 +112,7 @@ func (suite *ConfigTestSuite) TestValidateConfDefault() {
func (suite *ConfigTestSuite) TestValidateConf() { func (suite *ConfigTestSuite) TestValidateConf() {
// Core // Core
assert.Equal(suite.T(), "8088", suite.ConfGorush.Core.Port) assert.Equal(suite.T(), "8088", suite.ConfGorush.Core.Port)
assert.Equal(suite.T(), int64(8), suite.ConfGorush.Core.WorkerNum) assert.Equal(suite.T(), int64(runtime.NumCPU()), suite.ConfGorush.Core.WorkerNum)
assert.Equal(suite.T(), int64(8192), suite.ConfGorush.Core.QueueNum) assert.Equal(suite.T(), int64(8192), suite.ConfGorush.Core.QueueNum)
assert.Equal(suite.T(), "release", suite.ConfGorush.Core.Mode) assert.Equal(suite.T(), "release", suite.ConfGorush.Core.Mode)
assert.Equal(suite.T(), false, suite.ConfGorush.Core.SSL) assert.Equal(suite.T(), false, suite.ConfGorush.Core.SSL)