goserver_sync/core/task/config.go

51 lines
855 B
Go

package task
import (
"mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/basic"
)
var Config = Configuration{}
type WorkerConfig struct {
Options basic.Options
WorkerCnt int
}
type Configuration struct {
Options basic.Options
Worker WorkerConfig
}
func (c *Configuration) Name() string {
return "executor"
}
func (c *Configuration) Init() error {
if c.Options.QueueBacklog <= 0 {
c.Options.QueueBacklog = 1024
}
if c.Options.MaxDone <= 0 {
c.Options.MaxDone = 1024
}
if c.Worker.Options.QueueBacklog <= 0 {
c.Worker.Options.QueueBacklog = 1024
}
if c.Worker.Options.MaxDone <= 0 {
c.Worker.Options.MaxDone = 1024
}
if c.Worker.WorkerCnt <= 0 {
c.Worker.WorkerCnt = 8
}
TaskExecutor.Start()
return nil
}
func (c *Configuration) Close() error {
return nil
}
func init() {
core.RegistePackage(&Config)
}