Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶
type Context struct { // The system context with cancel capability. SystemContext context.Context // Coordination signal WG *sync.WaitGroup // Report errors to bootstrap component // Once error is reported by lower components, the whole system should exit ErrorChan chan error // The base job context reference // It will be the parent conetext of job execution context JobContext JobContext }
Context keep some sharable materials and system controlling channels. The system context.Context interface is also included.
type JobContext ¶
type JobContext interface { // Build the context based on the parent context // // dep JobData : Dependencies for building the context, just in case that the build // function need some external info // // Returns: // new JobContext based on the parent one // error if meet any problems Build(dep JobData) (JobContext, error) // Get property from the context // // prop string : key of the context property // // Returns: // The data of the specified context property if have // bool to indicate if the property existing Get(prop string) (interface{}, bool) // SystemContext returns the system context // // Returns: // context.Context SystemContext() context.Context // Checkin is bridge func for reporting detailed status // // status string : detailed status // // Returns: // error if meet any problems Checkin(status string) error // OPCommand return the control operational command like stop/cancel if have // // Returns: // op command if have // flag to indicate if have command OPCommand() (string, bool) // Return the logger GetLogger() logger.Interface // Launch sub jobs LaunchJob(req models.JobRequest) (models.JobStats, error) }
JobContext is combination of BaseContext and other job specified resources. JobContext will be the real execution context for one job.
type JobContextInitializer ¶
type JobContextInitializer func(ctx *Context) (JobContext, error)
JobContextInitializer is a func to initialize the concrete job context
Click to show internal directories.
Click to hide internal directories.