diff options
Diffstat (limited to 'jobs/workers.go')
-rw-r--r-- | jobs/workers.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/jobs/workers.go b/jobs/workers.go index b1d275658..3abd7131c 100644 --- a/jobs/workers.go +++ b/jobs/workers.go @@ -17,6 +17,7 @@ type Workers struct { Watcher *Watcher DataRetention model.Worker + MessageExport model.Worker ElasticsearchIndexing model.Worker ElasticsearchAggregation model.Worker LdapSync model.Worker @@ -34,6 +35,10 @@ func (srv *JobServer) InitWorkers() *Workers { workers.DataRetention = srv.DataRetentionJob.MakeWorker() } + if srv.MessageExportJob != nil { + workers.MessageExport = srv.MessageExportJob.MakeWorker() + } + if elasticsearchIndexerInterface := srv.ElasticsearchIndexer; elasticsearchIndexerInterface != nil { workers.ElasticsearchIndexing = elasticsearchIndexerInterface.MakeWorker() } @@ -57,6 +62,10 @@ func (workers *Workers) Start() *Workers { go workers.DataRetention.Run() } + if workers.MessageExport != nil && *workers.Config().MessageExportSettings.EnableExport { + go workers.MessageExport.Run() + } + if workers.ElasticsearchIndexing != nil && *workers.Config().ElasticsearchSettings.EnableIndexing { go workers.ElasticsearchIndexing.Run() } @@ -86,6 +95,14 @@ func (workers *Workers) handleConfigChange(oldConfig *model.Config, newConfig *m } } + if workers.MessageExport != nil { + if !*oldConfig.MessageExportSettings.EnableExport && *newConfig.MessageExportSettings.EnableExport { + go workers.MessageExport.Run() + } else if *oldConfig.MessageExportSettings.EnableExport && !*newConfig.MessageExportSettings.EnableExport { + workers.MessageExport.Stop() + } + } + if workers.ElasticsearchIndexing != nil { if !*oldConfig.ElasticsearchSettings.EnableIndexing && *newConfig.ElasticsearchSettings.EnableIndexing { go workers.ElasticsearchIndexing.Run() @@ -120,6 +137,10 @@ func (workers *Workers) Stop() *Workers { workers.DataRetention.Stop() } + if workers.MessageExport != nil && *workers.Config().MessageExportSettings.EnableExport { + workers.MessageExport.Stop() + } + if workers.ElasticsearchIndexing != nil && *workers.Config().ElasticsearchSettings.EnableIndexing { workers.ElasticsearchIndexing.Stop() } |