# Packages
Package errors contains errors for the domain "hsch".
# Functions
CloseWaitContext terminates the given lifecycle and then gracefully waits for it to shut down.
DescribeProcessFunc associates the given description with the arbitrary process function and returns it as a process.
ManySchedulableDescriptor adapts a slice of descriptors to the ManySchedulable interface.
NewAdhocDescriptor returns a bound pair of adhoc descriptor and submitter.
NewImmediateDescriptor creates an immediately-scheduling descriptor for the given process.
NewIntervalDescriptor creates a new descriptor that repeats the given process according to the given interval.
NewParent creates a new parent lifecycle comprised of the given delegate lifecycles.
NewRecoveryDescriptor creates a new recovering descriptor wrapping the given delegate descriptor.
NewRecoveryDescriptorWithOptions creates a new recovering descriptor wrapping the given delegate descriptor.
NewRepeatingDescriptor creates a new repeating descriptor that emits the given process.
NewScheduler creates a scheduler to manage all of the schedulable children provided.
NewSegment creates a new segment with the given worker pool size (concurrency) and slice of descriptors.
NManySchedulable creates a new worker pool of the given size.
OneSchedulable conforms a single schedulable work item to the ManySchedulable interface.
SchedulableDescriptor adapts a descriptor to the Schedulable interface.
SchedulableLifecycle adapts a lifecycle to the Schedulable interface.
SchedulableProcess makes the given process conform to the Schedulable interface.
WaitContext waits until the given lifecycle completes or the context is done, returning hsch_lifecycle_timeout_error in the latter case.
# Variables
ErrorBehaviorCollect allows all processes to complete and returns a full set of errors when they have finished.
ErrorBehaviorDrop ignores errors, merely logging them for reference.
ErrorBehaviorTerminate causes the entire lifecycle to clean up and exit when the first error occurs.
# Structs
AdhocDescriptor is a descriptor that allows external access to submit work to be scheduled.
AdhocSubmitter is used to submit work to an adhoc descriptor.
ImmediateDescriptor schedules a given process exactly once and then terminates.
IntervalDescriptor schedules a given process many times with the same time duration between subsequent runs.
LifecycleStartOptions are the options all lifecycles must handle when starting.
Parent is a lifecycle that aggregates other lifecycles.
RecoveryDescriptor wraps a given descriptor so that it restarts if the descriptor itself fails.
RecoveryDescriptorOptions contains fields that allow backoff and retry parameters to be set.
RepeatingDescriptor schedules a given process repeatedly.
Scheduler provides a generic mechanism for managing parallel work.
SchedulerEventHandlerFuncs allows a client to partially implement an event handler, choosing to receiving only the events they provide handlers for.
Segment is a bounded executor for processes.
# Interfaces
Descriptor provides a way to emit work to a scheduler.
ErrorBehavior defines the way a lifecycle handles errors from descriptors and processes.
ErrorHandler defines a contract that a Scheduler uses to manage errors.
ErrorReporter allows reporter processes to submit errors to a handler created by a particular error behavior.
Lifecycle represents a partially or fully configured scheduler instance.
ManySchedulable represents multiple items of work, each of which needs to be scheduled.
Process is the primary unit of work for external users of the scheduler.
Schedulable represents an individual item of work that can be scheduled in this package.
SchedulerEventHandler defines an interface by which a client can respond to lifecycle events.
StartedLifecycle represents a fully configured, operating scheduler.
# Type aliases
ManySchedulableSlice is an implementation of ManySchedulable for a slice of Schedulables.
ProcessFunc converts an arbitrary function to a process.
SchedulableFunc makes the given function conform to the Schedulable interface.