pub trait TaskProcessor: Send + Sync {
// Provided methods
fn on_task_start(
&self,
_context: &TaskProcessorContext,
_results: &mut TaskResults,
) -> Result<(), GenjaError> { ... }
fn on_task_finish(
&self,
_context: &TaskProcessorContext,
_results: &mut TaskResults,
) -> Result<(), GenjaError> { ... }
fn on_instance_start(
&self,
_context: &TaskProcessorContext,
) -> Result<(), GenjaError> { ... }
fn on_instance_finish(
&self,
_context: &TaskProcessorContext,
_result: &mut HostTaskResult,
) -> Result<(), GenjaError> { ... }
}Expand description
Processes task results during aggregate and per-host task lifecycles.
All methods are no-ops by default. Implementers can override only the hooks they need. Returning an error aborts the current runner path.
Provided Methods§
Sourcefn on_task_start(
&self,
_context: &TaskProcessorContext,
_results: &mut TaskResults,
) -> Result<(), GenjaError>
fn on_task_start( &self, _context: &TaskProcessorContext, _results: &mut TaskResults, ) -> Result<(), GenjaError>
Called when a task result tree starts.
Sourcefn on_task_finish(
&self,
_context: &TaskProcessorContext,
_results: &mut TaskResults,
) -> Result<(), GenjaError>
fn on_task_finish( &self, _context: &TaskProcessorContext, _results: &mut TaskResults, ) -> Result<(), GenjaError>
Called after a task result tree is complete.
Sourcefn on_instance_start(
&self,
_context: &TaskProcessorContext,
) -> Result<(), GenjaError>
fn on_instance_start( &self, _context: &TaskProcessorContext, ) -> Result<(), GenjaError>
Called immediately before a task runs on a host.
Sourcefn on_instance_finish(
&self,
_context: &TaskProcessorContext,
_result: &mut HostTaskResult,
) -> Result<(), GenjaError>
fn on_instance_finish( &self, _context: &TaskProcessorContext, _result: &mut HostTaskResult, ) -> Result<(), GenjaError>
Called after a task has produced its host result and execution timing has
been attached, before that result is inserted into TaskResults.
Trait Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".