Scheduler updates (#1311)

* Scheduler updates

* Add convenience methods to db/timestamp.Timestamp

* Remove recursive loop

Co-authored-by: Michael Gaffney <mike@gaffney.cc>
This commit is contained in:
Louis RuchandMichael Gaffney authored and GitHub committed 2021-06-11 11:36:14 -07:00
1 parent aea1da77b6
commit 649ed32504
14 files changed
+214 -109

No files matched your search

+15 -9
View File
@@ -112,6 +112,14 @@ func New(conf *Config) (*Controller, error) {
); err != nil {
return nil, fmt.Errorf("error adding config keys to kms: %w", err)
}
jobRepoFn := func() (*job.Repository, error) {
return job.NewRepository(dbase, dbase, c.kms)
}
c.scheduler, err = scheduler.New(c.conf.RawConfig.Controller.Name, jobRepoFn, c.logger)
if err != nil {
return nil, fmt.Errorf("error creating new scheduler: %w", err)
}
c.IamRepoFn = func() (*iam.Repository, error) {
return iam.NewRepository(dbase, dbase, c.kms, iam.WithRandomReader(c.conf.SecureRandomReader))
}
@@ -138,17 +146,8 @@ func New(conf *Config) (*Controller, error) {
c.SessionRepoFn = func() (*session.Repository, error) {
return session.NewRepository(dbase, dbase, c.kms)
}
c.workerAuthCache = cache.New(0, 0)
jobRepoFn := func() (*job.Repository, error) {
return job.NewRepository(dbase, dbase, c.kms)
}
c.scheduler, err = scheduler.New(c.conf.RawConfig.Controller.Name, jobRepoFn, c.logger)
if err != nil {
return nil, fmt.Errorf("error creating new scheduler: %w", err)
}
return c, nil
}
@@ -158,6 +157,9 @@ func (c *Controller) Start() error {
return nil
}
c.baseContext, c.baseCancel = context.WithCancel(context.Background())
if err := c.registerJobs(); err != nil {
return fmt.Errorf("error registering jobs: %w", err)
}
if err := c.scheduler.Start(c.baseContext); err != nil {
return fmt.Errorf("error starting scheduler: %w", err)
}
@@ -175,6 +177,10 @@ func (c *Controller) Start() error {
return nil
}
func (c *Controller) registerJobs() error {
return nil
}
func (c *Controller) Shutdown(serversOnly bool) error {
if !c.started.Load() {
c.logger.Info("already shut down, skipping")