core

package
v1.7.7 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2020 License: Apache-2.0 Imports: 8 Imported by: 6

Documentation

Overview

Package core provides the main job operation interface and components.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

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

Controller implement the core interface and provides related job handle methods. Controller will coordinate the lower components to complete the process as a commander role.

func NewController

func NewController(backendPool pool.Interface) *Controller

NewController is constructor of Controller.

func (*Controller) CancelJob

func (c *Controller) CancelJob(jobID string) error

CancelJob is implementation of same method in core interface.

func (*Controller) CheckStatus

func (c *Controller) CheckStatus() (models.JobPoolStats, error)

CheckStatus is implementation of same method in core interface.

func (*Controller) GetJob

func (c *Controller) GetJob(jobID string) (models.JobStats, error)

GetJob is implementation of same method in core interface.

func (*Controller) GetJobLogData

func (c *Controller) GetJobLogData(jobID string) ([]byte, error)

GetJobLogData is used to return the log text data for the specified job if exists

func (*Controller) LaunchJob

func (c *Controller) LaunchJob(req models.JobRequest) (models.JobStats, error)

LaunchJob is implementation of same method in core interface.

func (*Controller) RetryJob

func (c *Controller) RetryJob(jobID string) error

RetryJob is implementation of same method in core interface.

func (*Controller) StopJob

func (c *Controller) StopJob(jobID string) error

StopJob is implementation of same method in core interface.

type Interface

type Interface interface {
	// LaunchJob is used to handle the job submission request.
	//
	// req	JobRequest    : Job request contains related required information of queuing job.
	//
	// Returns:
	//	JobStats: Job status info with ID and self link returned if job is successfully launched.
	//  error   : Error returned if failed to launch the specified job.
	LaunchJob(req models.JobRequest) (models.JobStats, error)

	// GetJob is used to handle the job stats query request.
	//
	// jobID	string: ID of job.
	//
	// Returns:
	//	JobStats: Job status info if job exists.
	//  error   : Error returned if failed to get the specified job.
	GetJob(jobID string) (models.JobStats, error)

	// StopJob is used to handle the job stopping request.
	//
	// jobID	string: ID of job.
	//
	// Return:
	//  error   : Error returned if failed to stop the specified job.
	StopJob(jobID string) error

	// RetryJob is used to handle the job retrying request.
	//
	// jobID	string        : ID of job.
	//
	// Return:
	//  error   : Error returned if failed to retry the specified job.
	RetryJob(jobID string) error

	// Cancel the job
	//
	// jobID string : ID of the enqueued job
	//
	// Returns:
	//  error           : error returned if meet any problems
	CancelJob(jobID string) error

	// CheckStatus is used to handle the job service healthy status checking request.
	CheckStatus() (models.JobPoolStats, error)

	// GetJobLogData is used to return the log text data for the specified job if exists
	GetJobLogData(jobID string) ([]byte, error)
}

Interface defines the related main methods of job operation.

Jump to

Keyboard shortcuts

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