Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExecutionQueue ¶
type ExecutionQueue struct {
// contains filtered or unexported fields
}
ExecutionQueue handles the queues for each different repository it finds.
func GetExecQueue ¶
func GetExecQueue() *ExecutionQueue
GetExecQueue will return the queue singleton.
func (*ExecutionQueue) Add ¶
func (eq *ExecutionQueue) Add(exec Executor)
Add adds an Executor to the queue.
func (*ExecutionQueue) Get ¶
func (eq *ExecutionQueue) Get(repository string) Executor
Get returns and removes and executor from the given repository. If the queue for the repository is empty it will be removed completely.
func (*ExecutionQueue) GetRepositories ¶
func (eq *ExecutionQueue) GetRepositories() []string
GetRepositories returns a list of all repositories that are currently handled by the queue.
func (*ExecutionQueue) IsEmpty ¶
func (eq *ExecutionQueue) IsEmpty(repository string) bool
IsEmpty checks if the queue for the given repository is empty.
type Executor ¶
type Executor interface {
// Triggers the actual job
Execute() error
// Exclusive will return true, if the job is an
// exclusive job and can't be run together with
// other jobs on the same repository.
Exclusive() bool
// Logger returns the logger in the job's context so we can
// Associate the logs with the actual job.
Logger() logr.Logger
// GetJobType() returns the type of the CDR that the job will execute
GetJobType() v1alpha1.JobType
// GetJobNamespace() returns the namespace of the CDR that the job will execute
GetJobNamespace() string
// GetConcurrencyLimit
GetConcurrencyLimit() int
// GetName() string
GetRepository() string
}
Executor defines an interface for the execution queue.
Click to show internal directories.
Click to hide internal directories.