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

Function NewModuleService

pkg/util/modules/module_service.go:33–44  ·  view source on GitHub ↗

NewModuleService wraps a module service, and makes sure that dependencies are started/stopped before module service starts or stops. If any dependency fails to start, this service fails as well. On stop, errors from failed dependencies are ignored.

(name string, logger log.Logger, service services.Service, startDeps, stopDeps func(string) map[string]services.Service)

Source from the content-addressed store, hash-verified

31// If any dependency fails to start, this service fails as well.
32// On stop, errors from failed dependencies are ignored.
33func NewModuleService(name string, logger log.Logger, service services.Service, startDeps, stopDeps func(string) map[string]services.Service) services.Service {
34 w := &moduleService{
35 name: name,
36 logger: logger,
37 service: service,
38 startDeps: startDeps,
39 stopDeps: stopDeps,
40 }
41
42 w.Service = services.NewBasicService(w.start, w.run, w.stop)
43 return w
44}
45
46func (w *moduleService) start(serviceContext context.Context) error {
47 // wait until all startDeps are running

Callers 1

newModuleServiceWrapperFunction · 0.85

Calls 1

NewBasicServiceFunction · 0.92

Tested by

no test coverage detected