runtime: normalised service statuses (#1994)
This commit is contained in:
@@ -133,7 +133,7 @@ func (s *service) Start() error {
|
||||
if s.Metadata == nil {
|
||||
s.Metadata = make(map[string]string)
|
||||
}
|
||||
s.Status("starting", nil)
|
||||
s.Status(runtime.Starting, nil)
|
||||
|
||||
// TODO: pull source & build binary
|
||||
if logger.V(logger.DebugLevel, logger.DefaultLogger) {
|
||||
@@ -142,7 +142,7 @@ func (s *service) Start() error {
|
||||
|
||||
p, err := s.Process.Fork(s.Exec)
|
||||
if err != nil {
|
||||
s.Status("error", err)
|
||||
s.Status(runtime.Error, err)
|
||||
return err
|
||||
}
|
||||
// set the pid
|
||||
@@ -150,7 +150,7 @@ func (s *service) Start() error {
|
||||
// set to running
|
||||
s.running = true
|
||||
// set status
|
||||
s.Status("running", nil)
|
||||
s.Status(runtime.Running, nil)
|
||||
// set started
|
||||
s.Metadata["started"] = time.Now().Format(time.RFC3339)
|
||||
|
||||
@@ -165,9 +165,9 @@ func (s *service) Start() error {
|
||||
}
|
||||
|
||||
// Status updates the status of the service. Assumes it's called under a lock as it mutates state
|
||||
func (s *service) Status(status string, err error) {
|
||||
func (s *service) Status(status runtime.ServiceStatus, err error) {
|
||||
s.Service.Status = status
|
||||
s.Metadata["lastStatusUpdate"] = time.Now().Format(time.RFC3339)
|
||||
s.Metadata["status"] = status
|
||||
if err == nil {
|
||||
delete(s.Metadata, "error")
|
||||
return
|
||||
@@ -193,7 +193,7 @@ func (s *service) Stop() error {
|
||||
}
|
||||
|
||||
// set status
|
||||
s.Status("stopping", nil)
|
||||
s.Status(runtime.Stopping, nil)
|
||||
|
||||
// kill the process
|
||||
err := s.Process.Kill(s.PID)
|
||||
@@ -203,7 +203,7 @@ func (s *service) Stop() error {
|
||||
}
|
||||
|
||||
// set status
|
||||
s.Status("stopped", err)
|
||||
s.Status(runtime.Stopped, err)
|
||||
|
||||
// return the kill error
|
||||
return err
|
||||
@@ -240,12 +240,12 @@ func (s *service) Wait() {
|
||||
logger.Errorf("Service %s terminated with error %s", s.Name, err)
|
||||
}
|
||||
s.retries++
|
||||
s.Status("error", err)
|
||||
s.Status(runtime.Error, err)
|
||||
s.Metadata["retries"] = strconv.Itoa(s.retries)
|
||||
|
||||
s.err = err
|
||||
} else {
|
||||
s.Status("done", nil)
|
||||
s.Status(runtime.Stopped, nil)
|
||||
}
|
||||
|
||||
// no longer running
|
||||
|
Reference in New Issue
Block a user