Documentation
¶
Overview ¶
Package core provides the main job operation interface and components.
Index ¶
- type Controller
- func (c *Controller) CancelJob(jobID string) error
- func (c *Controller) CheckStatus() (models.JobPoolStats, error)
- func (c *Controller) GetJob(jobID string) (models.JobStats, error)
- func (c *Controller) GetJobLogData(jobID string) ([]byte, error)
- func (c *Controller) LaunchJob(req models.JobRequest) (models.JobStats, error)
- func (c *Controller) RetryJob(jobID string) error
- func (c *Controller) StopJob(jobID string) error
- type Interface
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.