|
|
|
@ -54,14 +54,17 @@ type CanBeDisabled interface { |
|
|
|
|
IsDisabled() bool |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// BackgroundService should be implemented for services that have
|
|
|
|
|
// long running tasks in the background.
|
|
|
|
|
type BackgroundService interface { |
|
|
|
|
Run(ctx context.Context) error |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type HasInitPriority interface { |
|
|
|
|
GetInitPriority() Priority |
|
|
|
|
// Run starts the background process of the service after `Init` have been called
|
|
|
|
|
// on all services. The `context.Context` passed into the function should be used
|
|
|
|
|
// to subscribe to ctx.Done() so the service can be notified when Grafana shuts down.
|
|
|
|
|
Run(ctx context.Context) error |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// IsDisabled takes an service and return true if its disabled
|
|
|
|
|
func IsDisabled(srv Service) bool { |
|
|
|
|
canBeDisabled, ok := srv.(CanBeDisabled) |
|
|
|
|
return ok && canBeDisabled.IsDisabled() |
|
|
|
|