Merge pull request #1117 from micro/scheduler
Switch notifier to scheduler
This commit is contained in:
commit
eac2ab3c28
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 (
|
||||
|
Loading…
Reference in New Issue
Block a user