remove jobs.Srv and other jobs-related globals (#7535)

Этот коммит содержится в:
Chris
2017-09-29 04:29:29 -05:00
коммит произвёл George Goldberg
родитель cb33179998
Коммит 4e79d2d4d0
16 изменённых файлов: 140 добавлений и 132 удалений

Просмотреть файл

@@ -14,7 +14,6 @@ import (
"net/http"
l4g "github.com/alecthomas/log4go"
"github.com/mattermost/mattermost-server/jobs"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/store"
"github.com/mattermost/mattermost-server/store/sqlstore"
@@ -190,7 +189,7 @@ func (a *App) RecycleDatabaseConnection() {
l4g.Warn(utils.T("api.admin.recycle_db_start.warn"))
a.Srv.Store = store.NewLayeredStore(sqlstore.NewSqlSupplier(a.Metrics), a.Metrics, a.Cluster)
jobs.Srv.Store = a.Srv.Store
a.Jobs.Store = a.Srv.Store
time.Sleep(20 * time.Second)
oldStore.Close()

Просмотреть файл

@@ -9,6 +9,8 @@ import (
"sync"
"github.com/mattermost/mattermost-server/einterfaces"
ejobs "github.com/mattermost/mattermost-server/einterfaces/jobs"
"github.com/mattermost/mattermost-server/jobs"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/plugin/pluginenv"
"github.com/mattermost/mattermost-server/utils"
@@ -25,6 +27,8 @@ type App struct {
Hubs []*Hub
HubsStopCheckingForDeadlock chan bool
Jobs *jobs.JobServer
AccountMigration einterfaces.AccountMigrationInterface
Brand einterfaces.BrandInterface
Cluster einterfaces.ClusterInterface
@@ -36,7 +40,9 @@ type App struct {
Saml einterfaces.SamlInterface
}
var globalApp App
var globalApp App = App{
Jobs: &jobs.JobServer{},
}
var initEnterprise sync.Once
@@ -65,6 +71,30 @@ func RegisterComplianceInterface(f func(*App) einterfaces.ComplianceInterface) {
complianceInterface = f
}
var jobsDataRetentionInterface func(*App) ejobs.DataRetentionInterface
func RegisterJobsDataRetentionInterface(f func(*App) ejobs.DataRetentionInterface) {
jobsDataRetentionInterface = f
}
var jobsElasticsearchAggregatorInterface func(*App) ejobs.ElasticsearchAggregatorInterface
func RegisterJobsElasticsearchAggregatorInterface(f func(*App) ejobs.ElasticsearchAggregatorInterface) {
jobsElasticsearchAggregatorInterface = f
}
var jobsElasticsearchIndexerInterface func(*App) ejobs.ElasticsearchIndexerInterface
func RegisterJobsElasticsearchIndexerInterface(f func(*App) ejobs.ElasticsearchIndexerInterface) {
jobsElasticsearchIndexerInterface = f
}
var jobsLdapSyncInterface func(*App) ejobs.LdapSyncInterface
func RegisterJobsLdapSyncInterface(f func(*App) ejobs.LdapSyncInterface) {
jobsLdapSyncInterface = f
}
var ldapInterface func(*App) einterfaces.LdapInterface
func RegisterLdapInterface(f func(*App) einterfaces.LdapInterface) {
@@ -121,6 +151,19 @@ func (a *App) initEnterprise() {
a.Saml.ConfigureSP()
})
}
if jobsDataRetentionInterface != nil {
a.Jobs.DataRetention = jobsDataRetentionInterface(a)
}
if jobsElasticsearchAggregatorInterface != nil {
a.Jobs.ElasticsearchAggregator = jobsElasticsearchAggregatorInterface(a)
}
if jobsElasticsearchIndexerInterface != nil {
a.Jobs.ElasticsearchIndexer = jobsElasticsearchIndexerInterface(a)
}
if jobsLdapSyncInterface != nil {
a.Jobs.LdapSync = jobsLdapSyncInterface(a)
}
}
func (a *App) Config() *model.Config {

Просмотреть файл

@@ -4,7 +4,6 @@
package app
import (
"github.com/mattermost/mattermost-server/jobs"
"github.com/mattermost/mattermost-server/model"
)
@@ -40,10 +39,10 @@ func (a *App) GetJobsByType(jobType string, offset int, limit int) ([]*model.Job
}
}
func CreateJob(job *model.Job) (*model.Job, *model.AppError) {
return jobs.CreateJob(job.Type, job.Data)
func (a *App) CreateJob(job *model.Job) (*model.Job, *model.AppError) {
return a.Jobs.CreateJob(job.Type, job.Data)
}
func CancelJob(jobId string) *model.AppError {
return jobs.RequestCancellation(jobId)
func (a *App) CancelJob(jobId string) *model.AppError {
return a.Jobs.RequestCancellation(jobId)
}