11package config
22
33import (
4- "gopkg.in/ini.v1"
5- "log"
4+ "gopkg.in/ini.v1"
5+ "log"
66)
77
88// 解析配置文件
99
1010var (
11- Setting * Config
11+ Setting * Config
1212)
1313
1414const (
15- DefaultBindAddress = "0.0.0.0:9277"
16- DefaultBucketSize = 3
17- DefaultBucketName = "dq_bucket_%d"
18- DefaultQueueName = "dq_queue_%s"
19- DefaultQueueBlockTimeout = 178
20- DefaultRedisHost = "127.0.0.1:6379"
21- DefaultRedisDb = 1
22- DefaultRedisPassword = ""
23- DefaultRedisMaxIdle = 10
24- DefaultRedisMaxActive = 0
25- DefaultRedisConnectTimeout = 5000
26- DefaultRedisReadTimeout = 180000
27- DefaultRedisWriteTimeout = 3000
15+ DefaultBindAddress = "0.0.0.0:9277"
16+ DefaultBucketSize = 3
17+ DefaultBucketName = "dq_bucket_%d"
18+ DefaultQueueName = "dq_queue_%s"
19+ DefaultQueueBlockTimeout = 178
20+ DefaultRedisHost = "127.0.0.1:6379"
21+ DefaultRedisDb = 1
22+ DefaultRedisPassword = ""
23+ DefaultRedisMaxIdle = 10
24+ DefaultRedisMaxActive = 0
25+ DefaultRedisConnectTimeout = 5000
26+ DefaultRedisReadTimeout = 180000
27+ DefaultRedisWriteTimeout = 3000
2828)
2929
3030type Config struct {
31- BindAddress string // http server 监听地址
32- BucketSize int // bucket数量
33- BucketName string // bucket在redis中的键名,
34- QueueName string // ready queue在redis中的键名
35- QueueBlockTimeout int // 调用blpop阻塞超时时间, 单位秒, 修改此项, redis.read_timeout必须做相应调整
36- Redis RedisConfig // redis配置
31+ BindAddress string // http server 监听地址
32+ BucketSize int // bucket数量
33+ BucketName string // bucket在redis中的键名,
34+ QueueName string // ready queue在redis中的键名
35+ QueueBlockTimeout int // 调用blpop阻塞超时时间, 单位秒, 修改此项, redis.read_timeout必须做相应调整
36+ Redis RedisConfig // redis配置
3737}
3838
3939type RedisConfig struct {
40- Host string
41- Db int
42- Password string
43- MaxIdle int // 连接池最大空闲连接数
44- MaxActive int // 连接池最大激活连接数
45- ConnectTimeout int // 连接超时, 单位毫秒
46- ReadTimeout int // 读取超时, 单位毫秒
47- WriteTimeout int // 写入超时, 单位毫秒
40+ Host string
41+ Db int
42+ Password string
43+ MaxIdle int // 连接池最大空闲连接数
44+ MaxActive int // 连接池最大激活连接数
45+ ConnectTimeout int // 连接超时, 单位毫秒
46+ ReadTimeout int // 读取超时, 单位毫秒
47+ WriteTimeout int // 写入超时, 单位毫秒
4848}
4949
50- func Init (path string ) {
51- Setting = & Config {}
52- if ( path == "" ) {
53- Setting .initDefaultConfig ()
54- return
55- }
50+ func Init (path string ) {
51+ Setting = & Config {}
52+ if path == "" {
53+ Setting .initDefaultConfig ()
54+ return
55+ }
5656
57- Setting .parse (path )
57+ Setting .parse (path )
5858}
5959
60- func (config * Config ) parse (path string ) {
61- file , err := ini .Load (path )
62- if err != nil {
63- log .Fatalf ("无法解析配置文件#%s" , err .Error ())
64- }
60+ func (config * Config ) parse (path string ) {
61+ file , err := ini .Load (path )
62+ if err != nil {
63+ log .Fatalf ("无法解析配置文件#%s" , err .Error ())
64+ }
6565
66- section := file .Section ("" )
67- config .BindAddress = section .Key ("bind_address" ).MustString (DefaultBindAddress )
68- config .BucketSize = section .Key ("bucket_size" ).MustInt (DefaultBucketSize )
69- config .BucketName = section .Key ("bucket_name" ).MustString (DefaultBucketName )
70- config .QueueName = section .Key ("queue_name" ).MustString (DefaultQueueName )
71- config .QueueBlockTimeout = section .Key ("queue_block_timeout" ).MustInt (DefaultQueueBlockTimeout )
66+ section := file .Section ("" )
67+ config .BindAddress = section .Key ("bind_address" ).MustString (DefaultBindAddress )
68+ config .BucketSize = section .Key ("bucket_size" ).MustInt (DefaultBucketSize )
69+ config .BucketName = section .Key ("bucket_name" ).MustString (DefaultBucketName )
70+ config .QueueName = section .Key ("queue_name" ).MustString (DefaultQueueName )
71+ config .QueueBlockTimeout = section .Key ("queue_block_timeout" ).MustInt (DefaultQueueBlockTimeout )
7272
73- config .Redis .Host = section .Key ("redis.host" ).MustString (DefaultRedisHost )
74- config .Redis .Db = section .Key ("redis.db" ).MustInt (DefaultRedisDb )
75- config .Redis .Password = section .Key ("redis.password" ).MustString (DefaultRedisPassword )
76- config .Redis .MaxIdle = section .Key ("redis.max_idle" ).MustInt (DefaultRedisMaxIdle )
77- config .Redis .MaxActive = section .Key ("redis.max_active" ).MustInt (DefaultRedisMaxActive )
78- config .Redis .ConnectTimeout = section .Key ("redis.connect_timeout" ).MustInt (DefaultRedisConnectTimeout )
79- config .Redis .ReadTimeout = section .Key ("redis.read_timeout" ).MustInt (DefaultRedisReadTimeout )
80- config .Redis .WriteTimeout = section .Key ("redis.write_timeout" ).MustInt (DefaultRedisWriteTimeout )
73+ config .Redis .Host = section .Key ("redis.host" ).MustString (DefaultRedisHost )
74+ config .Redis .Db = section .Key ("redis.db" ).MustInt (DefaultRedisDb )
75+ config .Redis .Password = section .Key ("redis.password" ).MustString (DefaultRedisPassword )
76+ config .Redis .MaxIdle = section .Key ("redis.max_idle" ).MustInt (DefaultRedisMaxIdle )
77+ config .Redis .MaxActive = section .Key ("redis.max_active" ).MustInt (DefaultRedisMaxActive )
78+ config .Redis .ConnectTimeout = section .Key ("redis.connect_timeout" ).MustInt (DefaultRedisConnectTimeout )
79+ config .Redis .ReadTimeout = section .Key ("redis.read_timeout" ).MustInt (DefaultRedisReadTimeout )
80+ config .Redis .WriteTimeout = section .Key ("redis.write_timeout" ).MustInt (DefaultRedisWriteTimeout )
8181}
8282
83+ func (config * Config ) initDefaultConfig () {
84+ config .BindAddress = DefaultBindAddress
85+ config .BucketSize = DefaultBucketSize
86+ config .BucketName = DefaultBucketName
87+ config .QueueName = DefaultQueueName
88+ config .QueueBlockTimeout = DefaultQueueBlockTimeout
8389
84- func (config * Config ) initDefaultConfig () {
85- config .BindAddress = DefaultBindAddress
86- config .BucketSize = DefaultBucketSize
87- config .BucketName = DefaultBucketName
88- config .QueueName = DefaultQueueName
89- config .QueueBlockTimeout = DefaultQueueBlockTimeout
90-
91- config .Redis .Host = DefaultRedisHost
92- config .Redis .Db = DefaultRedisDb
93- config .Redis .Password = DefaultRedisPassword
94- config .Redis .MaxIdle = DefaultRedisMaxIdle
95- config .Redis .MaxActive = DefaultRedisMaxActive
96- config .Redis .ConnectTimeout = DefaultRedisConnectTimeout
97- config .Redis .ReadTimeout = DefaultRedisReadTimeout
98- config .Redis .WriteTimeout = DefaultRedisWriteTimeout
99- }
90+ config .Redis .Host = DefaultRedisHost
91+ config .Redis .Db = DefaultRedisDb
92+ config .Redis .Password = DefaultRedisPassword
93+ config .Redis .MaxIdle = DefaultRedisMaxIdle
94+ config .Redis .MaxActive = DefaultRedisMaxActive
95+ config .Redis .ConnectTimeout = DefaultRedisConnectTimeout
96+ config .Redis .ReadTimeout = DefaultRedisReadTimeout
97+ config .Redis .WriteTimeout = DefaultRedisWriteTimeout
98+ }
0 commit comments