The application task operation class is used to process an individual ApplicationTask. - This class exists primarily to implement the Process() method, using the - AsyncProcessingOperationT as the base structure that provides the needed events. The class: - Is cancellable. - Exposes events [ ProcessingStarted, ProcessingCompleted, ProcessingFailed, CancellationRequested, ]. - Holds a reference to: -- The Task that will execute the application task handler. -- The ApplicationTask from the application task queue in the vault that is being processed. -- The FailureException, when processing experiences an unhandled -- exception from inside the TaskHandler. Note: The Process() method handles all errors. Unhandled exceptions inside the TaskHandler delegate are exposed via the ProcessingFailed event.
The application task processor handles the batch processing of application tasks as TaskProcessorJob's. The TaskQueueManager object delegates tasks to this task processor via the ProcessTasks(Vault, IEnumerableApplicationTask, CancellationToken)() method. - Registers the task queue passed in via the settings with the TaskQueueManager. - Enables task polling of the TaskQueueManager. - Exposes events [ BatchAdded ] -- BatchAdded => This event receives a TaskProcessorJob a.k.a. a batchJob. --- The individual batch job exposes life-cycle events [ ProcessingStarted, ProcessingCompleted, ProcessingFailed, CancellationRequested, ] --- These events can be used to keep local cached data in sync for --- vault applications or modules that need that sort of live updated info.
Application task batch processor settings.
Application task processing report.
ApplicationTask processor settings object.
ApplicationTask generic progress update info object.
The async processing operation class is a generic class, that provides the basic events and properties that an async processing operation should have. This class provides only the properties and events, all implementing classes are required to handle the actual execution and processing, while triggering the events provided by this class as needed. - Is cancellable. - Holds a standardized processing state. ProcessingStarted, ProcessingCompleted, ProcessingFailed, CancellationRequested, - Fires events on the change of each processing state.
Event args class for the async processing operation events.
Settings object used to get and set the availability group status of a server.
Multi-server mode availability group health status writer.
Event args of the batch processors child jobs.
Event args for the batch processor job events.
Broadcast action directive.
Class that can be cancelled. - The class holds a reference to the system threaded Task that will - process the cancellable logic. - Holds a cancellation token source linked to the token passed via the constructor.
Event args class for the cancellable operation events.
Clone values are used to ensure this is thread safe. - Each Value read operation returns a clone copy of the data. - Each call receives a clone copy - of the data and stores a clone copy of the returned result.
Clone container event args object.
Provides to string formatting extensions for the DateTime type.
Event args for a failed operations
Failure info class.
Pending tasks wrapper class. - Allows for prioritization of broadcast tasks.
Processing results report object.
Sequential application task processor. - Processes one task at a time.
Shared setting helper class. Used to Get / Set shared setting for task queue into NamedValueStorage.
Application task processor base class. The TaskQueueManager object delegates tasks to this task processor via the ProcessTasks(Vault, IEnumerableApplicationTask, CancellationToken)() method. Exposes event, JobCreated.
Built in task handler IDs.
The task processor job class is the async processing operations specific to ApplicationTask's that are being processed by a IApplicationTaskProcessor. This class: - Has a guid identifier. - Holds a reference to the vault. - Contains a processing report. - Exposes the immutable properties of the Application Task, so they are available without accessing the COM object.
Event args for the task processor job.
Application task queue definition.
Task queue directive abstract base class. - Directives used for task queue processing should ( but are not - required to ) extend from this class.
Generic broadcast directive that contains only a handler type and a data item that will be passed as the input param's in the vault extension method call.
Defines an interface for objects that can been deep cloned.
Delegate for updating the data value. Receives a clone copy of the data object and returns the value to be set as the data value. ///
Delegate used to process an individual application task.
Delegate used to process an individual application task, wrapper as a TaskProcessorJob.
Async processing operation, processing state.