Skip to content

Commit

Permalink
Try to fix scheduler not starting (#1053)
Browse files Browse the repository at this point in the history
Fixes #998
  • Loading branch information
Victor Castell committed Jan 31, 2022
1 parent 670d9c5 commit fea0a74
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
4 changes: 4 additions & 0 deletions dkron/leader.go
Expand Up @@ -144,6 +144,10 @@ WAIT:
// membership and what is reflected in our strongly consistent store.
func (a *Agent) reconcile() error {
defer metrics.MeasureSince([]string{"dkron", "leader", "reconcile"}, time.Now())

// TODO: Try to fix https://github.com/distribworks/dkron/issues/998
a.sched.Cron.Start()

members := a.serf.Members()
for _, member := range members {
if err := a.reconcileMember(member); err != nil {
Expand Down
8 changes: 5 additions & 3 deletions dkron/scheduler.go
Expand Up @@ -77,7 +77,7 @@ func (s *Scheduler) Stop() {

if s.started {
s.logger.Debug("scheduler: Stopping scheduler")
<- s.Cron.Stop().Done()
<-s.Cron.Stop().Done()
s.started = false
// Keep Cron exists and let the jobs which have been scheduled can continue to finish,
// even the node's leadership will be revoked.
Expand All @@ -96,7 +96,9 @@ func (s *Scheduler) Stop() {
func (s *Scheduler) Restart(jobs []*Job, agent *Agent) {
s.Stop()
s.ClearCron()
s.Start(jobs, agent)
if err := s.Start(jobs, agent); err != nil {
s.logger.Fatal(err)
}
}

// Clear cron separately, this can only be called when agent will be stop.
Expand Down Expand Up @@ -163,7 +165,7 @@ func (s *Scheduler) AddJob(job *Job) error {
return nil
}

// RemoveJob removes a job from the cron scheduler
// RemoveJob removes a job from the cron scheduler if it exists.
func (s *Scheduler) RemoveJob(job *Job) {
s.logger.WithFields(logrus.Fields{
"job": job.Name,
Expand Down

0 comments on commit fea0a74

Please sign in to comment.