pub trait Task:
Send
+ Sync
+ Serialize
+ for<'de> Deserialize<'de>
+ Debug {
// Required methods
fn execute<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TaskResult> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn name(&self) -> &str;
// Provided methods
fn max_retries(&self) -> u32 { ... }
fn timeout_seconds(&self) -> u64 { ... }
fn priority(&self) -> TaskPriority { ... }
fn resource_requirements(&self) -> TaskResourceRequirements { ... }
fn retry_delay_strategy(&self) -> RetryStrategy { ... }
}Expand description
Enhanced Task trait with improved type safety and async characteristics
Required Methods§
Provided Methods§
Sourcefn max_retries(&self) -> u32
fn max_retries(&self) -> u32
Maximum retry attempts (default: 3)
Sourcefn timeout_seconds(&self) -> u64
fn timeout_seconds(&self) -> u64
Task timeout in seconds (default: 300s/5min)
Sourcefn priority(&self) -> TaskPriority
fn priority(&self) -> TaskPriority
Task priority level (default: Normal)
Sourcefn resource_requirements(&self) -> TaskResourceRequirements
fn resource_requirements(&self) -> TaskResourceRequirements
Estimate task resource requirements for better scheduling
Sourcefn retry_delay_strategy(&self) -> RetryStrategy
fn retry_delay_strategy(&self) -> RetryStrategy
Custom retry delay strategy
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".