Switch notifier to scheduler

This commit is contained in:
Asim Aslam 2020-01-16 13:34:04 +00:00
parent 689ae7cfc7
commit 491a42d352
4 changed files with 20 additions and 20 deletions

View File

@ -290,9 +290,9 @@ func (r *runtime) Start() error {
r.closed = make(chan bool)
var events <-chan Event
if r.options.Notifier != nil {
if r.options.Scheduler != nil {
var err error
events, err = r.options.Notifier.Notify()
events, err = r.options.Scheduler.Notify()
if err != nil {
// TODO: should we bail here?
log.Debugf("Runtime failed to start update notifier")
@ -327,9 +327,9 @@ func (r *runtime) Stop() error {
log.Debugf("Runtime stopping %s", service.Name)
service.Stop()
}
// stop the notifier too
if r.options.Notifier != nil {
return r.options.Notifier.Close()
// stop the scheduler
if r.options.Scheduler != nil {
return r.options.Scheduler.Close()
}
}

View File

@ -365,9 +365,9 @@ func (k *kubernetes) Start() error {
k.closed = make(chan bool)
var events <-chan runtime.Event
if k.options.Notifier != nil {
if k.options.Scheduler != nil {
var err error
events, err = k.options.Notifier.Notify()
events, err = k.options.Scheduler.Notify()
if err != nil {
// TODO: should we bail here?
log.Debugf("Runtime failed to start update notifier")
@ -395,9 +395,9 @@ func (k *kubernetes) Stop() error {
close(k.closed)
// set not running
k.running = false
// stop the notifier too
if k.options.Notifier != nil {
return k.options.Notifier.Close()
// stop the scheduler
if k.options.Scheduler != nil {
return k.options.Scheduler.Close()
}
}

View File

@ -8,16 +8,16 @@ type Option func(o *Options)
// Options configure runtime
type Options struct {
// Notifier for updates
Notifier Notifier
// Scheduler for updates
Scheduler Scheduler
// Service type to manage
Type string
}
// WithNotifier specifies a notifier for updates
func WithNotifier(n Notifier) Option {
// WithScheduler specifies a scheduler for updates
func WithScheduler(n Scheduler) Option {
return func(o *Options) {
o.Notifier = n
o.Scheduler = n
}
}

View File

@ -30,15 +30,15 @@ type Runtime interface {
Stop() error
}
// Notifier is an update notifier
type Notifier interface {
// Notify publishes notification events
// Scheduler is a runtime service scheduler
type Scheduler interface {
// Notify publishes schedule events
Notify() (<-chan Event, error)
// Close stops the notifier
// Close stops the scheduler
Close() error
}
// EventType defines notification event
// EventType defines schedule event
type EventType int
const (