pub trait BatchTaskHandler:
Serialize
+ for<'de> Deserialize<'de>
+ Send
+ Sync
+ 'static {
const IDENTIFIER: &'static str;
// Required method
fn run_batch(
items: Vec<Self>,
ctx: WorkerContext,
) -> impl Future<Output = impl IntoBatchTaskHandlerResult> + Send + 'static;
// Provided method
fn definition() -> JobDefinition
where Self: Sized { ... }
}Expand description
Core trait for defining batch task handlers.
Implement this when a single database job should contain an array of item
payloads and the worker should retry only the failed items after partial
success. Self is the item payload type, not Vec<Self>.
Required Associated Constants§
Sourceconst IDENTIFIER: &'static str
const IDENTIFIER: &'static str
Unique identifier for this batch task type.
Required Methods§
Sourcefn run_batch(
items: Vec<Self>,
ctx: WorkerContext,
) -> impl Future<Output = impl IntoBatchTaskHandlerResult> + Send + 'static
fn run_batch( items: Vec<Self>, ctx: WorkerContext, ) -> impl Future<Output = impl IntoBatchTaskHandlerResult> + Send + 'static
Execute a batch of item payloads.
Provided Methods§
Sourcefn definition() -> JobDefinitionwhere
Self: Sized,
fn definition() -> JobDefinitionwhere
Self: Sized,
Returns a reusable registration value for this batch task handler.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".