MCPcopy Create free account
hub / github.com/cortexproject/cortex / stop

Method stop

pkg/util/modules/module_service.go:80–99  ·  view source on GitHub ↗
(_ error)

Source from the content-addressed store, hash-verified

78}
79
80func (w *moduleService) stop(_ error) error {
81 var err error
82 if w.service.State() == services.Running {
83 // Only wait for other modules, if underlying service is still running.
84 w.waitForModulesToStop()
85
86 level.Debug(w.logger).Log("msg", "stopping", "module", w.name)
87
88 err = services.StopAndAwaitTerminated(context.Background(), w.service)
89 } else {
90 err = w.service.FailureCase()
91 }
92
93 if err != nil && err != ErrStopProcess {
94 level.Warn(w.logger).Log("msg", "module failed with error", "module", w.name, "err", err)
95 } else {
96 level.Info(w.logger).Log("msg", "module stopped", "module", w.name)
97 }
98 return err
99}
100
101func (w *moduleService) waitForModulesToStop() {
102 // 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