func Stop(criteria *skynet.Criteria) { instances, err := skynet.GetServiceManager().ListInstances(criteria) if err != nil { log.Fatal(err) } var wait sync.WaitGroup for _, instance := range filterDaemon(instances) { wait.Add(1) go func(instance skynet.ServiceInfo) { fmt.Println("Stopping: " + instance.UUID) d := daemon.GetDaemonForService(&instance) in := daemon.StopSubServiceRequest{ UUID: instance.UUID, } out, err := d.StopSubService(in) if err != nil { fmt.Println("Returned Error: " + err.Error()) wait.Done() return } stopTemplate.Execute(os.Stdout, out) wait.Done() }(instance) } wait.Wait() }
func SetLogLevel(criteria *skynet.Criteria, level string) { instances, err := skynet.GetServiceManager().ListInstances(criteria) if err != nil { log.Fatal(err) } var wait sync.WaitGroup for _, instance := range filterDaemon(instances) { wait.Add(1) go func(instance skynet.ServiceInfo) { fmt.Println("Setting LogLevel to " + level + " for: " + instance.UUID) d := daemon.GetDaemonForService(&instance) in := daemon.SubServiceLogLevelRequest{ UUID: instance.UUID, Level: level, } out, err := d.SubServiceLogLevel(in) if err != nil { fmt.Println("Returned Error: " + err.Error()) wait.Done() return } logLevelTemplate.Execute(os.Stdout, out) wait.Done() }(instance) } wait.Wait() }
func Stop(q *skynet.Query) { cl := client.NewClient(config) for _, instance := range filterDaemon(q.FindInstances()) { cdaemon := daemon.GetDaemonForService(cl, instance) in := daemon.StopSubServiceRequest{UUID: instance.Config.UUID} out, err := cdaemon.StopSubService(in) if err != nil { if strings.HasPrefix(err.Error(), "No such service UUID") { // no daemon on the service's machine, shut it down directly AdminStop(q) } else { fmt.Println(err) } } else { stopTemplate.Execute(os.Stdout, out) } } }
func Restart(q *skynet.Query) { cl := client.NewClient(config) for _, instance := range filterDaemon(q.FindInstances()) { cdaemon := daemon.GetDaemonForService(cl, instance) in := daemon.RestartSubServiceRequest{UUID: instance.Config.UUID} out, err := cdaemon.RestartSubService(in) if err != nil { if strings.HasPrefix(err.Error(), "No such service UUID") { // Commented out for now, we need to determine if we want to try to restart an unmanaged instance, and support it // no daemon on the service's machine, shut it down directly //AdminStop(q) } else { fmt.Println(err) } } else { restartTemplate.Execute(os.Stdout, out) } } }