type BackgroundService interface {
// 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
}
BackgroundService should be implemented for services that have
long running tasks in the background.
type CanBeDisabled interface {
// IsDisabled should return a bool saying if it can be started or not. IsDisabled() bool
}
CanBeDisabled allows the services to decide if it should
be started or not by itself. This is useful for services
that might not always be started, ex alerting.
This will be called after `Init()`.
type DatabaseMigrator interface {
// AddMigrations allows the service to add migrations to// the database migrator.
AddMigration(mg *migrator.Migrator)
}
DatabaseMigrator allows the caller to add migrations to
the migrator passed as argument