ing
This commit is contained in:
parent
a15effa1ad
commit
3ebe20681f
20
crawler/crawler.go
Normal file
20
crawler/crawler.go
Normal file
|
@ -0,0 +1,20 @@
|
|||
package crawler
|
||||
|
||||
import (
|
||||
oopcc "git.loafle.net/overflow/overflow_probe_container/crawler"
|
||||
)
|
||||
|
||||
var crawlers map[string]oopcc.Crawler
|
||||
|
||||
func init() {
|
||||
crawlers = make(map[string]oopcc.Crawler, 0)
|
||||
|
||||
}
|
||||
|
||||
func addCrawler(c oopcc.Crawler) {
|
||||
crawlers[c.Name()] = c
|
||||
}
|
||||
|
||||
func GetCrawlers() map[string]oopcc.Crawler {
|
||||
return crawlers
|
||||
}
|
|
@ -8,7 +8,9 @@ import (
|
|||
crr "git.loafle.net/commons_go/rpc/registry"
|
||||
"git.loafle.net/commons_go/server"
|
||||
ooca "git.loafle.net/overflow/overflow_commons_go/annotation"
|
||||
"git.loafle.net/overflow/overflow_discovery/crawler"
|
||||
oods "git.loafle.net/overflow/overflow_discovery/service"
|
||||
oopc "git.loafle.net/overflow/overflow_probe_container"
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/server"
|
||||
oopcService "git.loafle.net/overflow/overflow_probe_container/service"
|
||||
)
|
||||
|
@ -20,6 +22,7 @@ func New(pidPath string) server.Server {
|
|||
err error
|
||||
)
|
||||
oods.InitService()
|
||||
cdr.RegisterResource(oopc.PROBE_CONTAINER_CRAWLERS, crawler.GetCrawlers())
|
||||
|
||||
rpcRegistry := crr.NewRPCRegistry()
|
||||
|
||||
|
@ -40,7 +43,7 @@ func New(pidPath string) server.Server {
|
|||
rpcSH := oopcs.NewRPCServletHandler(rpcRegistry)
|
||||
socketHandler := newSocketHandler(rpcSH, probeService)
|
||||
|
||||
sh := newServerHandler(pidPath, socketHandler)
|
||||
sh := newServerHandler(pidPath, socketHandler, services, oods.ServicesToStartAndStop)
|
||||
s := oopcs.New(sh)
|
||||
|
||||
return s
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
"git.loafle.net/commons_go/server"
|
||||
"git.loafle.net/overflow/overflow_discovery/discovery"
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/server"
|
||||
)
|
||||
|
||||
func newServerHandler(pidPath string, socketHandler SocketHandler) ServerHandler {
|
||||
func newServerHandler(pidPath string, socketHandler SocketHandler, services []interface{}, servicesToStartAndStop []reflect.Type) ServerHandler {
|
||||
sh := &ServerHandlers{}
|
||||
sh.ServerHandler = oopcs.NewServerHandler(pidPath, "Discovery Containter", socketHandler)
|
||||
sh.ServerHandler = oopcs.NewServerHandler(pidPath, "Discovery Containter", socketHandler, services, servicesToStartAndStop)
|
||||
|
||||
return sh
|
||||
}
|
||||
|
@ -28,16 +29,18 @@ func (sh *ServerHandlers) Init(serverCTX server.ServerContext) error {
|
|||
func (sh *ServerHandlers) OnStart(serverCTX server.ServerContext) {
|
||||
sh.ServerHandler.OnStart(serverCTX)
|
||||
|
||||
discovery.DiscoveryInit()
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnStop(serverCTX server.ServerContext) {
|
||||
|
||||
discovery.DiscoveryDestroy()
|
||||
|
||||
sh.ServerHandler.OnStop(serverCTX)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Destroy(serverCTX server.ServerContext) {
|
||||
|
||||
sh.ServerHandler.Destroy(serverCTX)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Validate() {
|
||||
sh.ServerHandler.Validate()
|
||||
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
package service
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
cda "git.loafle.net/commons_go/di/annotation"
|
||||
cdr "git.loafle.net/commons_go/di/registry"
|
||||
)
|
||||
|
||||
func init() {
|
||||
cdr.RegisterType(reflect.TypeOf((*ContainerService)(nil)))
|
||||
}
|
||||
|
||||
type ContainerService struct {
|
||||
cda.TypeAnnotation `annotation:"@overFlow:Service()"`
|
||||
}
|
||||
|
||||
func (cs *ContainerService) State() (bool, error) {
|
||||
|
||||
return true, nil
|
||||
}
|
|
@ -1,10 +1,12 @@
|
|||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
cda "git.loafle.net/commons_go/di/annotation"
|
||||
cdr "git.loafle.net/commons_go/di/registry"
|
||||
oocmci "git.loafle.net/overflow/overflow_commons_go/modules/commons/interfaces"
|
||||
discoveryM "git.loafle.net/overflow/overflow_commons_go/modules/discovery/model"
|
||||
"git.loafle.net/overflow/overflow_discovery/discovery"
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/service"
|
||||
|
@ -16,10 +18,23 @@ func init() {
|
|||
|
||||
type DiscoveryService struct {
|
||||
cda.TypeAnnotation `annotation:"@overFlow:Service()"`
|
||||
oocmci.Service
|
||||
|
||||
ProbeService *oopcs.ProbeService `annotation:"@Inject()"`
|
||||
}
|
||||
|
||||
func (ds *DiscoveryService) Start() error {
|
||||
discovery.DiscoveryInit()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ds *DiscoveryService) Stop(ctx context.Context) error {
|
||||
discovery.DiscoveryDestroy()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ds *DiscoveryService) DiscoverZone(requesterID string, dz *discoveryM.DiscoveryZone) error {
|
||||
|
||||
discovery.DiscoverZone(ds.ProbeService, requesterID, dz)
|
||||
|
@ -41,8 +56,3 @@ func (ds *DiscoveryService) DiscoverService(requesterID string, port *discoveryM
|
|||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ds *DiscoveryService) Stop() error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -1,9 +1,21 @@
|
|||
package service
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/service"
|
||||
)
|
||||
|
||||
var (
|
||||
ServicesToStartAndStop = []reflect.Type{
|
||||
reflect.TypeOf((*oopcs.SensorConfigService)(nil)),
|
||||
reflect.TypeOf((*oopcs.CrawlerService)(nil)),
|
||||
reflect.TypeOf((*oopcs.ProbeService)(nil)),
|
||||
reflect.TypeOf((*DiscoveryService)(nil)),
|
||||
reflect.TypeOf((*oopcs.StateService)(nil)),
|
||||
}
|
||||
)
|
||||
|
||||
func InitService() {
|
||||
oopcs.InitService()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user