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", so this trait is not object safe.