# Functions
IsUnrecoverable takes in an error and determines if it is permanent (requiring user intervention to fix).
NewAnalyticalStorage creates a new analytical store with access to the necessary systems for storing data and to act as a middleware (deprecated).
NewSchedulableTaskService initializes a new SchedulableTaskService given an UpdateTaskService.
NewStoragePointsWriterRecorder configures and returns a new *StoragePointsWriterRecorder.
NotifyCoordinatorOfExisting lists all tasks by the provided task service and for each task it calls the provided coordinators task created method.
TaskNotifyCoordinatorOfExisting lists all tasks by the provided task service and for each task it calls the provided coordinators task created method TODO(docmerlin): this is temporary untill the executor queue is persistent.
# Structs
SchedulableTaskService implements the SchedulableService interface.
StoragePointsWriterRecorder is an implementation of RunRecorder which writes runs via an implementation of storage PointsWriter.
# Interfaces
Coordinator is a type with a single method which is called when a task has been created.
RunRecorder is a type which records runs into an influxdb backed storage mechanism.
TaskControlService is a low-level controller interface, intended to be passed to task executors and schedulers, which allows creation, completion, and status updates of runs.
TaskService is a type on which tasks can be listed.
UpdateTaskService provides an API to update the LatestScheduled time of a task.