mesos

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2020 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Scheduler

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

Scheduler holds the structure of the Eremetic Scheduler

func NewScheduler

func NewScheduler(settings *Settings, db eremetic.TaskDB) *Scheduler

NewScheduler returns a new instance of the default scheduler.

func (*Scheduler) Disconnected

func (s *Scheduler) Disconnected(mesossched.SchedulerDriver)

Disconnected is called when the Scheduler is Disconnected

func (*Scheduler) Error

func (s *Scheduler) Error(_ mesossched.SchedulerDriver, err string)

Error is invoked when there is an unrecoverable error in the scheduler or scheduler driver.

func (*Scheduler) ExecutorLost

func (s *Scheduler) ExecutorLost(_ mesossched.SchedulerDriver, executorID *mesosproto.ExecutorID, agentID *mesosproto.SlaveID, status int)

ExecutorLost is invoked when an executor has exited/terminated.

func (*Scheduler) FrameworkMessage

func (s *Scheduler) FrameworkMessage(
	driver mesossched.SchedulerDriver,
	executorID *mesosproto.ExecutorID,
	slaveID *mesosproto.SlaveID,
	message string)

FrameworkMessage is invoked when an executor sends a message.

func (*Scheduler) Kill added in v0.27.0

func (s *Scheduler) Kill(tastID string) error

Kill will signal mesos that a task should be killed as soon as possible.

func (*Scheduler) OfferRescinded

func (s *Scheduler) OfferRescinded(_ mesossched.SchedulerDriver, offerID *mesosproto.OfferID)

OfferRescinded is invoked when an offer is no longer valid.

func (*Scheduler) Reconcile

func (s *Scheduler) Reconcile(driver mesossched.SchedulerDriver)

Reconcile reconciles the currently scheduled tasks.

func (*Scheduler) Registered

func (s *Scheduler) Registered(driver mesossched.SchedulerDriver, frameworkID *mesosproto.FrameworkID, masterInfo *mesosproto.MasterInfo)

Registered is called when the Scheduler is Registered

func (*Scheduler) Reregistered

func (s *Scheduler) Reregistered(driver mesossched.SchedulerDriver, masterInfo *mesosproto.MasterInfo)

Reregistered is called when the Scheduler is Reregistered

func (*Scheduler) ResourceOffers

func (s *Scheduler) ResourceOffers(driver mesossched.SchedulerDriver, offers []*mesosproto.Offer)

ResourceOffers handles the Resource Offers

func (*Scheduler) Run

func (s *Scheduler) Run()

Run the eremetic scheduler

func (*Scheduler) ScheduleTask

func (s *Scheduler) ScheduleTask(request eremetic.Request) (string, error)

ScheduleTask tries to register a new task in the database to be scheduled. If the queue is full the task will be dropped.

func (*Scheduler) SlaveLost

func (s *Scheduler) SlaveLost(_ mesossched.SchedulerDriver, slaveID *mesosproto.SlaveID)

SlaveLost is invoked when a slave has been determined unreachable.

func (*Scheduler) StatusUpdate

func (s *Scheduler) StatusUpdate(driver mesossched.SchedulerDriver, status *mesosproto.TaskStatus)

StatusUpdate takes care of updating the status

func (*Scheduler) Stop

func (s *Scheduler) Stop()

Stop triggers a shutdown of the scheduler.

type Settings

type Settings struct {
	MaxQueueSize     int
	Master           string
	FrameworkID      string
	CredentialFile   string
	Name             string
	User             string
	MessengerAddress string
	MessengerPort    uint16
	Checkpoint       bool
	FailoverTimeout  float64
}

Settings holds configuration values for the scheduler

Jump to

Keyboard shortcuts

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