我从 2 个不同的地方运行了 createCB,并且具有不同的值 一次值为“state” 第二个值为“重新启动”
a := createCB("state",wd)
b := createCB("restarts",wd)
func (c *CollectorWatchDog) createCB(field string, wd *cpwdObj) func() (interface{},[]attribute.KeyValue) {
var value interface{}
return func() (interface{},[]attribute.KeyValue) {
err := c.runWDCommand("cpwd_admin","list")
if err != nil {
return nil, nil
}
if strings.Compare("state",field) == 0 {
value = wd.state
fmt.Println("createCB")
fmt.Println("field")
fmt.Println(field)
} else if strings.Compare("restarts",field) == 0 {
fmt.Println("createCB")
fmt.Println("restarts")
fmt.Println(field)
value = wd.restarts
}
labels := wd.getStateRestartLabels()
return value,labels
}
}
我将 CB 发送到不同的功能并激活它们,一个接一个,但只有第一个激活了。
这可能是什么原因?