jobs

package
v5.35.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2021 License: AGPL-3.0, Apache-2.0 Imports: 14 Imported by: 33

Documentation

Index

Constants

View Source
const (
	CancelWatcherPollingInterval = 5000
)

Variables

View Source
var (
	ErrSchedulersNotRunning    = errors.New("job schedulers are not running")
	ErrSchedulersRunning       = errors.New("job schedulers are running")
	ErrSchedulersUninitialized = errors.New("job schedulers are not initialized")
)
View Source
var (
	ErrWorkersNotRunning    = errors.New("job workers are not running")
	ErrWorkersRunning       = errors.New("job workers are running")
	ErrWorkersUninitialized = errors.New("job workers are not initialized")
)
View Source
var DefaultWatcherPollingInterval = 15000

Default polling interval for jobs termination. (Defining as `var` rather than `const` allows tests to lower the interval.)

Functions

func GenerateNextStartDateTime

func GenerateNextStartDateTime(now time.Time, nextStartTime time.Time) *time.Time

Types

type JobServer

type JobServer struct {
	ConfigService configservice.ConfigService
	Store         store.Store

	DataRetentionJob        ejobs.DataRetentionJobInterface
	MessageExportJob        ejobs.MessageExportJobInterface
	ElasticsearchAggregator ejobs.ElasticsearchAggregatorInterface
	ElasticsearchIndexer    tjobs.IndexerJobInterface
	LdapSync                ejobs.LdapSyncInterface
	Migrations              tjobs.MigrationsJobInterface
	Plugins                 tjobs.PluginsJobInterface
	BleveIndexer            tjobs.IndexerJobInterface
	ExpiryNotify            tjobs.ExpiryNotifyJobInterface
	ProductNotices          tjobs.ProductNoticesJobInterface
	ActiveUsers             tjobs.ActiveUsersJobInterface
	ImportProcess           tjobs.ImportProcessInterface
	ImportDelete            tjobs.ImportDeleteInterface
	ExportProcess           tjobs.ExportProcessInterface
	ExportDelete            tjobs.ExportDeleteInterface
	Cloud                   ejobs.CloudJobInterface
	ResendInvitationEmails  ejobs.ResendInvitationEmailJobInterface
	// contains filtered or unexported fields
}

func NewJobServer

func NewJobServer(configService configservice.ConfigService, store store.Store, metrics einterfaces.MetricsInterface) *JobServer

func (*JobServer) CancellationWatcher

func (srv *JobServer) CancellationWatcher(ctx context.Context, jobId string, cancelChan chan interface{})

func (*JobServer) CheckForPendingJobsByType

func (srv *JobServer) CheckForPendingJobsByType(jobType string) (bool, *model.AppError)

func (*JobServer) ClaimJob

func (srv *JobServer) ClaimJob(job *model.Job) (bool, *model.AppError)

func (*JobServer) Config

func (srv *JobServer) Config() *model.Config

func (*JobServer) CreateJob

func (srv *JobServer) CreateJob(jobType string, jobData map[string]string) (*model.Job, *model.AppError)

func (*JobServer) GetJob

func (srv *JobServer) GetJob(id string) (*model.Job, *model.AppError)

func (*JobServer) GetLastSuccessfulJobByType

func (srv *JobServer) GetLastSuccessfulJobByType(jobType string) (*model.Job, *model.AppError)

func (*JobServer) HandleClusterLeaderChange added in v5.35.0

func (srv *JobServer) HandleClusterLeaderChange(isLeader bool)

func (*JobServer) InitSchedulers

func (srv *JobServer) InitSchedulers() error

func (*JobServer) InitWorkers

func (srv *JobServer) InitWorkers() error

func (*JobServer) MakeWatcher

func (srv *JobServer) MakeWatcher(workers *Workers, pollingInterval int) *Watcher

func (*JobServer) RequestCancellation

func (srv *JobServer) RequestCancellation(jobId string) *model.AppError

func (*JobServer) SetJobCanceled

func (srv *JobServer) SetJobCanceled(job *model.Job) *model.AppError

func (*JobServer) SetJobError

func (srv *JobServer) SetJobError(job *model.Job, jobError *model.AppError) *model.AppError

func (*JobServer) SetJobProgress

func (srv *JobServer) SetJobProgress(job *model.Job, progress int64) *model.AppError

func (*JobServer) SetJobSuccess

func (srv *JobServer) SetJobSuccess(job *model.Job) *model.AppError

func (*JobServer) SetJobWarning added in v5.24.0

func (srv *JobServer) SetJobWarning(job *model.Job) *model.AppError

func (*JobServer) StartSchedulers

func (srv *JobServer) StartSchedulers() error

func (*JobServer) StartWorkers

func (srv *JobServer) StartWorkers() error

func (*JobServer) StopSchedulers

func (srv *JobServer) StopSchedulers() error

func (*JobServer) StopWorkers

func (srv *JobServer) StopWorkers() error

func (*JobServer) UpdateInProgressJobData

func (srv *JobServer) UpdateInProgressJobData(job *model.Job) *model.AppError

type Schedulers

type Schedulers struct {
	// contains filtered or unexported fields
}

func (*Schedulers) HandleClusterLeaderChange

func (schedulers *Schedulers) HandleClusterLeaderChange(isLeader bool)

func (*Schedulers) Start

func (schedulers *Schedulers) Start()

Start starts the schedulers. This call is not safe for concurrent use. Synchronization should be implemented by the caller.

func (*Schedulers) Stop

func (schedulers *Schedulers) Stop()

Stop stops the schedulers. This call is not safe for concurrent use. Synchronization should be implemented by the caller.

type Watcher

type Watcher struct {
	// contains filtered or unexported fields
}

func (*Watcher) PollAndNotify

func (watcher *Watcher) PollAndNotify()

func (*Watcher) Start

func (watcher *Watcher) Start()

func (*Watcher) Stop

func (watcher *Watcher) Stop()

type Workers

type Workers struct {
	ConfigService configservice.ConfigService
	Watcher       *Watcher

	DataRetention            model.Worker
	MessageExport            model.Worker
	ElasticsearchIndexing    model.Worker
	ElasticsearchAggregation model.Worker
	LdapSync                 model.Worker
	Migrations               model.Worker
	Plugins                  model.Worker
	BleveIndexing            model.Worker
	ExpiryNotify             model.Worker
	ProductNotices           model.Worker
	ActiveUsers              model.Worker
	ImportProcess            model.Worker
	ImportDelete             model.Worker
	ExportProcess            model.Worker
	ExportDelete             model.Worker
	Cloud                    model.Worker
	ResendInvitationEmail    model.Worker
	// contains filtered or unexported fields
}

func (*Workers) Start

func (workers *Workers) Start()

Start starts the workers. This call is not safe for concurrent use. Synchronization should be implemented by the caller.

func (*Workers) Stop

func (workers *Workers) Stop()

Stop stops the workers. This call is not safe for concurrent use. Synchronization should be implemented by the caller.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL