agent call process
This commit is contained in:
snoop 2017-05-16 15:11:32 +09:00
parent d7b4060a28
commit e1c9f5de64
3 changed files with 175 additions and 85 deletions

View File

@ -47,6 +47,15 @@ func callAdd(container *string, conf *config_manager.Config) bool {
} }
func callInitConfigOne(container* string, conf *config_manager.Config) bool {
var cl []*config_manager.Config
cl = append(cl , conf)
return callInitConfig(container, cl)
}
func callInitConfig(container *string, cl []*config_manager.Config) bool { func callInitConfig(container *string, cl []*config_manager.Config) bool {

View File

@ -280,6 +280,23 @@ func (c *CrawlerManager)removeSensor(id string) {
} }
func (c *CrawlerManager)updateSensor(id string) error {
conf := c.ConfigMgr.GetSensorById(id)
b := callInitConfigOne(&conf.Crawler.Container, conf)
if b == false {
return errors.New("update sensor error")
}
return nil
}
func (c *CrawlerManager)stopContainerAll() { func (c *CrawlerManager)stopContainerAll() {

View File

@ -1,135 +1,199 @@
package crawler_manager package crawler_manager
import ( import (
"loafle.com/overflow/agent_api/observer" //ooo "loafle.com/overflow/agent_api/observer"
//"loafle.com/overflow/agent_api/config_manager"
//"loafle.com/overflow/agent_api/messages"
//
//"fmt"
"loafle.com/overflow/agent_api/config_manager" "loafle.com/overflow/agent_api/config_manager"
"loafle.com/overflow/agent_api/observer/messages"
"fmt"
) )
func listenEvent() { func Start(res chan bool, conMgr config_manager.ConfigManager) {
go listenConfigLoaded(); GetInstance().ConfigMgr = conMgr;
go listenAgentStop()
go listenAddSensor();
go listenRemoveSensor();
go listenUpdateSensor();
go listenUpdateCrawler()
}
func listenConfigLoaded() {
ch := make(chan interface{}, 0)
observer.Add(messages.CFG_LOADED, ch)
o := <-ch
cm := o.(config_manager.ConfigManager)
GetInstance().ConfigMgr = cm;
SettingPath() SettingPath()
err := GetInstance().init(); err := GetInstance().init();
if err != nil { if err != nil {
//FIXME:: noti err res <- false
return; return;
} }
res <- true
observer.Notify(messages.CRM_READY, cm)
} }
func listenAgentStop() { func Stop(res chan bool) {
ch := make(chan interface{}, 0)
observer.Add(messages.CLT_STOPPED, ch)
o := <-ch
fmt.Println(o)
GetInstance().stopContainerAll() GetInstance().stopContainerAll()
observer.Notify(messages.CRM_STOPPED, nil) res <- true
} }
func listenAddSensor() { func AddSensor(id string) error {
ch := make(chan interface{}, 0)
observer.Add(messages.SCF_SENSOR_ADD_DONE, ch);
o := <-ch
str := o.(string) err := GetInstance().addSensor(id)
fmt.Println(str)
err := GetInstance().addSensor(str)
if err != nil { if err != nil {
//FIXME:: noti err return err
return
} }
observer.Notify(messages.CRM_SENSOR_ADD_DONE, nil) return nil
} }
func listenRemoveSensor() { func RemoveSensor(id string) {
ch := make(chan interface{}, 0) GetInstance().removeSensor(id)
observer.Add(messages.CLT_SENSOR_REMOVE_DONE, ch);
o := <-ch //FIXME:: error return
str := o.(string)
GetInstance().removeSensor(str)
observer.Notify(messages.CRM_SENSOR_REMOVE_DONE, nil)
} }
func listenUpdateSensor() { func UpdateSensor(id string) error {
ch := make(chan interface{}, 0)
observer.Add(messages.SCF_SENSOR_UPDATE_DONE, ch);
o := <-ch err := GetInstance().updateSensor(id)
container := o.(string)
err := GetInstance().runAndInitContainerOne(&container)
if err != nil { if err != nil {
//FIXME:: noti err return err
return
} }
observer.Notify(messages.CRM_SENSOR_UPDATE_DONE, nil) return nil
}
func UpdateCRM() {
//FIXME:: update crawler
} }
func listenUpdateCrawler() { func listenEvent() {
ch := make(chan interface{}, 0)
observer.Add(messages.CLT_CRM_UPDATE_DONE, ch);
o := <-ch
fmt.Println(o)
//FIXME::update crawler
observer.Notify(messages.CRM_UPDATE_DONE, nil)
//go listenConfigLoaded();
//go listenAgentStop()
//
//go listenAddSensor();
//go listenRemoveSensor();
//go listenUpdateSensor();
//
//go listenUpdateCrawler()
} }
//
//func listenConfigLoaded() {
//
// ch := make(chan interface{}, 0)
// observer.Add(messages.CFG_LOADED, ch)
//
// o := <-ch
//
// cm := o.(config_manager.ConfigManager)
//
// GetInstance().ConfigMgr = cm;
//
// SettingPath()
//
// err := GetInstance().init();
// if err != nil {
// //FIXME:: noti err
// return;
// }
//
//
// observer.Notify(messages.CRM_READY, cm)
//
//}
//
//func listenAgentStop() {
//
// ch := make(chan interface{}, 0)
// observer.Add(messages.CLT_STOPPED, ch)
//
// o := <-ch
//
// fmt.Println(o)
//
// GetInstance().stopContainerAll()
//
// observer.Notify(messages.CRM_STOPPED, nil)
//
//
//}
//
//func listenAddSensor() {
// ch := make(chan interface{}, 0)
// observer.Add(messages.SCF_SENSOR_ADD_DONE, ch);
//
// o := <-ch
//
// str := o.(string)
//
// fmt.Println(str)
//
// err := GetInstance().addSensor(str)
//
// if err != nil {
// //FIXME:: noti err
// return
// }
//
// observer.Notify(messages.CRM_SENSOR_ADD_DONE, nil)
//
//}
//
//func listenRemoveSensor() {
//
// ch := make(chan interface{}, 0)
// observer.Add(messages.CLT_SENSOR_REMOVE_DONE, ch);
//
// o := <-ch
//
// str := o.(string)
//
// GetInstance().removeSensor(str)
//
//
// observer.Notify(messages.CRM_SENSOR_REMOVE_DONE, nil)
//
//}
//
//func listenUpdateSensor() {
//
// ch := make(chan interface{}, 0)
// observer.Add(messages.SCF_SENSOR_UPDATE_DONE, ch);
//
// o := <-ch
//
// container := o.(string)
//
// err := GetInstance().runAndInitContainerOne(&container)
//
// if err != nil {
// //FIXME:: noti err
// return
// }
//
// observer.Notify(messages.CRM_SENSOR_UPDATE_DONE, nil)
//
//}
//
//func listenUpdateCrawler() {
//
// ch := make(chan interface{}, 0)
// observer.Add(messages.CLT_CRM_UPDATE_DONE, ch);
//
// o := <-ch
//
// fmt.Println(o)
// //FIXME::update crawler
//
//
// observer.Notify(messages.CRM_UPDATE_DONE, nil)
//
//}
//