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.