You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.2 KiB
61 lines
1.2 KiB
package common |
|
|
|
import ( |
|
"server/call" |
|
"server/db" |
|
"server/db/mysql" |
|
rdb "server/db/redis" |
|
"time" |
|
|
|
edb "server/db/es" |
|
|
|
"github.com/liangdas/mqant/conf" |
|
"github.com/liangdas/mqant/log" |
|
"github.com/liangdas/mqant/module" |
|
basemodule "github.com/liangdas/mqant/module/base" |
|
"github.com/liangdas/mqant/server" |
|
) |
|
|
|
type Call struct { |
|
basemodule.BaseModule |
|
} |
|
|
|
var Module = func() module.Module { |
|
this := new(Call) |
|
return this |
|
} |
|
|
|
func (c *Call) GetType() string { |
|
//很关键,需要与配置文件中的Module配置对应 |
|
return "common" |
|
} |
|
func (c *Call) Version() string { |
|
//可以在监控时了解代码版本 |
|
return "1.0.0" |
|
} |
|
|
|
func (c *Call) OnInit(app module.App, settings *conf.ModuleSettings) { |
|
c.BaseModule.OnInit(c, app, settings, |
|
server.RegisterInterval(5*time.Second), |
|
server.RegisterTTL(10*time.Second), |
|
) |
|
|
|
db.InitDB(&rdb.RedisClient{}, &edb.EsClient{}, &mysql.MysqlClient{}) |
|
|
|
call.NewCaller(c) |
|
loadConfig() |
|
initNats(c.App.Transport()) |
|
initTimer() |
|
} |
|
|
|
func (c *Call) Run(closeSig chan bool) { |
|
log.Info("[%v]module running", c.GetType()) |
|
<-closeSig |
|
log.Info("[%v]module stop", c.GetType()) |
|
} |
|
|
|
func (c *Call) OnDestroy() { |
|
//一定别忘了继承 |
|
c.BaseModule.OnDestroy() |
|
log.Info("[%v]module destroy", c.GetType()) |
|
}
|
|
|