本文整理汇总了Golang中github.com/intelsdi-x/gomit.Event.Namespace方法的典型用法代码示例。如果您正苦于以下问题:Golang Event.Namespace方法的具体用法?Golang Event.Namespace怎么用?Golang Event.Namespace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/intelsdi-x/gomit.Event
的用法示例。
在下文中一共展示了Event.Namespace方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: HandleGomitEvent
// HandleGomitEvent handles events emitted from control
func (t *tribe) HandleGomitEvent(e gomit.Event) {
logger := t.logger.WithFields(log.Fields{
"_block": "handle-gomit-event",
})
switch v := e.Body.(type) {
case *control_event.LoadPluginEvent:
logger.WithFields(log.Fields{
"event": e.Namespace(),
"plugin-name": v.Name,
"plugin-version": v.Version,
"plugin-type": core.PluginType(v.Type).String(),
}).Debugf("handling load plugin event")
plugin := agreement.Plugin{
Name_: v.Name,
Version_: v.Version,
Type_: core.PluginType(v.Type),
}
if m, ok := t.members[t.memberlist.LocalNode().Name]; ok {
if m.PluginAgreement != nil {
if ok, _ := m.PluginAgreement.Plugins.Contains(plugin); !ok {
t.AddPlugin(m.PluginAgreement.Name, plugin)
}
}
}
case *control_event.UnloadPluginEvent:
logger.WithFields(log.Fields{
"event": e.Namespace(),
"plugin-name": v.Name,
"plugin-version": v.Version,
"plugin-type": core.PluginType(v.Type).String(),
}).Debugf("handling unload plugin event")
plugin := agreement.Plugin{
Name_: v.Name,
Version_: v.Version,
Type_: core.PluginType(v.Type),
}
if m, ok := t.members[t.memberlist.LocalNode().Name]; ok {
if m.PluginAgreement != nil {
if ok, _ := m.PluginAgreement.Plugins.Contains(plugin); ok {
t.RemovePlugin(m.PluginAgreement.Name, plugin)
}
}
}
case *scheduler_event.TaskCreatedEvent:
if v.Source != "tribe" {
logger.WithFields(log.Fields{
"event": e.Namespace(),
"task-id": v.TaskID,
"task-start-on-create": v.StartOnCreate,
}).Debugf("handling task create event")
task := agreement.Task{
ID: v.TaskID,
StartOnCreate: v.StartOnCreate,
}
if m, ok := t.members[t.memberlist.LocalNode().Name]; ok {
if m.TaskAgreements != nil {
for n, a := range m.TaskAgreements {
if ok, _ := a.Tasks.Contains(task); !ok {
t.AddTask(n, task)
}
}
}
}
}
case *scheduler_event.TaskStoppedEvent:
if v.Source != "tribe" {
logger.WithFields(log.Fields{
"event": e.Namespace(),
"task-id": v.TaskID,
}).Debugf("handling task stop event")
task := agreement.Task{
ID: v.TaskID,
}
if m, ok := t.members[t.memberlist.LocalNode().Name]; ok {
if m.TaskAgreements != nil {
for n, a := range m.TaskAgreements {
if ok, _ := a.Tasks.Contains(task); ok {
t.StopTask(n, task)
}
}
}
}
}
case *scheduler_event.TaskStartedEvent:
if v.Source != "tribe" {
logger.WithFields(log.Fields{
"event": e.Namespace(),
"task-id": v.TaskID,
}).Debugf("handling task start event")
task := agreement.Task{
ID: v.TaskID,
}
if m, ok := t.members[t.memberlist.LocalNode().Name]; ok {
if m.TaskAgreements != nil {
for n, a := range m.TaskAgreements {
if ok, _ := a.Tasks.Contains(task); ok {
t.StartTask(n, task)
}
}
//.........这里部分代码省略.........
示例2: HandleGomitEvent
// Central handling for all async events in scheduler
func (s *scheduler) HandleGomitEvent(e gomit.Event) {
switch v := e.Body.(type) {
case *scheduler_event.MetricCollectedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"metric-count": len(v.Metrics),
}).Debug("event received")
s.taskWatcherColl.handleMetricCollected(v.TaskID, v.Metrics)
case *scheduler_event.MetricCollectionFailedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"errors-count": v.Errors,
}).Debug("event received")
case *scheduler_event.TaskStartedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
}).Debug("event received")
s.taskWatcherColl.handleTaskStarted(v.TaskID)
case *scheduler_event.TaskStoppedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
}).Debug("event received")
s.taskWatcherColl.handleTaskStopped(v.TaskID)
case *scheduler_event.TaskDisabledEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"disabled-reason": v.Why,
}).Debug("event received")
// We need to unsubscribe from deps when a task goes disabled
task, _ := s.getTask(v.TaskID)
depGroups := getWorkflowPlugins(task.workflow.processNodes, task.workflow.publishNodes, task.workflow.metrics)
for k := range depGroups {
mgr, err := task.RemoteManagers.Get(k)
if err == nil {
mgr.UnsubscribeDeps(task.ID())
}
}
s.taskWatcherColl.handleTaskDisabled(v.TaskID, v.Why)
default:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
}).Debug("event received")
}
}
示例3: HandleGomitEvent
// Central handling for all async events in scheduler
func (s *scheduler) HandleGomitEvent(e gomit.Event) {
switch v := e.Body.(type) {
case *scheduler_event.MetricCollectedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"metric-count": len(v.Metrics),
}).Debug("event received")
s.taskWatcherColl.handleMetricCollected(v.TaskID, v.Metrics)
case *scheduler_event.MetricCollectionFailedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"errors-count": v.Errors,
}).Debug("event received")
case *scheduler_event.TaskStartedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
}).Debug("event received")
s.taskWatcherColl.handleTaskStarted(v.TaskID)
case *scheduler_event.TaskStoppedEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
}).Debug("event received")
s.taskWatcherColl.handleTaskStopped(v.TaskID)
case *scheduler_event.TaskDisabledEvent:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
"task-id": v.TaskID,
"disabled-reason": v.Why,
}).Debug("event received")
// We need to unsubscribe from deps when a task goes disabled
task, _ := s.getTask(v.TaskID)
mts, plugins := s.gatherMetricsAndPlugins(task.workflow)
cps := returnCorePlugin(plugins)
s.metricManager.UnsubscribeDeps(task.ID(), mts, cps)
s.taskWatcherColl.handleTaskDisabled(v.TaskID, v.Why)
default:
log.WithFields(log.Fields{
"_module": "scheduler-events",
"_block": "handle-events",
"event-namespace": e.Namespace(),
}).Debug("event received")
}
}