MCPcopy
hub / github.com/grafana/dskit / stop

Method stop

modules/module_service.go:104–123  ·  view source on GitHub ↗
(_ error)

Source from the content-addressed store, hash-verified

102}
103
104func (w *moduleService) stop(_ error) error {
105 var err error
106 if w.service.State() == services.Running {
107 // Only wait for other modules, if underlying service is still running.
108 w.waitForModulesToStop()
109
110 level.Debug(w.logger).Log("msg", "stopping", "module", w.name)
111
112 err = services.StopAndAwaitTerminated(context.Background(), w.service)
113 } else {
114 err = w.service.FailureCase()
115 }
116
117 if err != nil && err != ErrStopProcess {
118 level.Warn(w.logger).Log("msg", "module failed with error", "module", w.name, "err", err)
119 } else {
120 level.Info(w.logger).Log("msg", "module stopped", "module", w.name)
121 }
122 return err
123}
124
125func (w *moduleService) waitForModulesToStop() {
126 // wait until all stopDeps have stopped

Callers

nothing calls this directly

Calls 5

waitForModulesToStopMethod · 0.95
StopAndAwaitTerminatedFunction · 0.92
StateMethod · 0.65
FailureCaseMethod · 0.65
LogMethod · 0.45

Tested by

no test coverage detected