From 81c18a01bd22437457da04b6cdb8d409beb54446 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Mon, 25 Sep 2017 13:30:33 -0700 Subject: PLT-7542 Converting LDAP sync to the job server (#7452) * PLT-7542 Converting LDAP sync to the job server * Fixing minor issues * Fixing build failure * Translate error message * Translate error message * Translate error message * Translate error message * Fixing merge * Fixing bad merge --- jobs/workers.go | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'jobs/workers.go') diff --git a/jobs/workers.go b/jobs/workers.go index b473ba092..9f85adaf5 100644 --- a/jobs/workers.go +++ b/jobs/workers.go @@ -14,18 +14,19 @@ import ( type Workers struct { startOnce sync.Once - watcher *Watcher + Watcher *Watcher DataRetention model.Worker ElasticsearchIndexing model.Worker ElasticsearchAggregation model.Worker + LdapSync model.Worker listenerId string } func InitWorkers() *Workers { workers := &Workers{} - workers.watcher = MakeWatcher(workers) + workers.Watcher = MakeWatcher(workers, DEFAULT_WATCHER_POLLING_INTERVAL) if dataRetentionInterface := ejobs.GetDataRetentionInterface(); dataRetentionInterface != nil { workers.DataRetention = dataRetentionInterface.MakeWorker() @@ -39,6 +40,10 @@ func InitWorkers() *Workers { workers.ElasticsearchAggregation = elasticsearchAggregatorInterface.MakeWorker() } + if ldapSyncInterface := ejobs.GetLdapSyncInterface(); ldapSyncInterface != nil { + workers.LdapSync = ldapSyncInterface.MakeWorker() + } + return workers } @@ -58,7 +63,11 @@ func (workers *Workers) Start() *Workers { go workers.ElasticsearchAggregation.Run() } - go workers.watcher.Start() + if workers.LdapSync != nil && *utils.Cfg.LdapSettings.Enable { + go workers.LdapSync.Run() + } + + go workers.Watcher.Start() }) workers.listenerId = utils.AddConfigListener(workers.handleConfigChange) @@ -90,12 +99,20 @@ func (workers *Workers) handleConfigChange(oldConfig *model.Config, newConfig *m workers.ElasticsearchAggregation.Stop() } } + + if workers.LdapSync != nil { + if !*oldConfig.LdapSettings.Enable && *newConfig.LdapSettings.Enable { + go workers.LdapSync.Run() + } else if *oldConfig.LdapSettings.Enable && !*newConfig.LdapSettings.Enable { + workers.LdapSync.Stop() + } + } } func (workers *Workers) Stop() *Workers { utils.RemoveConfigListener(workers.listenerId) - workers.watcher.Stop() + workers.Watcher.Stop() if workers.DataRetention != nil && (*utils.Cfg.DataRetentionSettings.EnableMessageDeletion || *utils.Cfg.DataRetentionSettings.EnableFileDeletion) { workers.DataRetention.Stop() @@ -109,6 +126,10 @@ func (workers *Workers) Stop() *Workers { workers.ElasticsearchAggregation.Stop() } + if workers.LdapSync != nil && *utils.Cfg.LdapSettings.Enable { + workers.LdapSync.Stop() + } + l4g.Info("Stopped workers") return workers -- cgit v1.2.3-1-g7c22