belaurscheduler

package
v0.0.0-...-d892afd Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2022 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BelaurScheduler

type BelaurScheduler interface {
	Init()
	SchedulePipeline(p *belaur.Pipeline, startedBy string, args []*belaur.Argument) (*belaur.PipelineRun, error)
	SetPipelineJobs(p *belaur.Pipeline) error
	StopPipelineRun(p *belaur.Pipeline, runID int) error
	GetFreeWorkers() int32
	CountScheduledRuns() int
}

BelaurScheduler is a job scheduler for Bhojpur Belaur pipeline runs.

type Dependencies

type Dependencies struct {
	Store store.BelaurStore
	DB    memdb.BelaurMemDB
	PS    plugin.Plugin
	CA    security.CAAPI
	Vault security.BelaurVault
}

Dependencies defines the dependencies of the scheduler service.

type Scheduler

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

Scheduler represents the schuler object

func NewScheduler

func NewScheduler(deps Dependencies) (*Scheduler, error)

NewScheduler creates a new Scheduler service.

func (*Scheduler) CountScheduledRuns

func (s *Scheduler) CountScheduledRuns() int

CountScheduledRuns returns the number of scheduled runs.

func (*Scheduler) GetFreeWorkers

func (s *Scheduler) GetFreeWorkers() int32

GetFreeWorkers returns the number of free workers.

func (*Scheduler) Init

func (s *Scheduler) Init()

Init initializes the scheduler.

func (*Scheduler) SchedulePipeline

func (s *Scheduler) SchedulePipeline(p *belaur.Pipeline, startedReason string, args []*belaur.Argument) (*belaur.PipelineRun, error)

SchedulePipeline schedules a pipeline. We create a new schedule object and save it in our store. The scheduler will later pick this up and will continue the work.

func (*Scheduler) SetPipelineJobs

func (s *Scheduler) SetPipelineJobs(p *belaur.Pipeline) error

SetPipelineJobs uses the plugin system to get all jobs from the given pipeline. This function is blocking and might take some time.

func (*Scheduler) StopPipelineRun

func (s *Scheduler) StopPipelineRun(p *belaur.Pipeline, runID int) error

StopPipelineRun will prematurely cancel a pipeline run by killing all of its jobs and running processes immediately.

Jump to

Keyboard shortcuts

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