pub struct BootFlowTaskManager { /* private fields */ }Expand description
A3S Boot-backed task manager for Flow scheduler and callback dispatch.
Boot owns queue processors, worker lifecycle, leasing, job state, and shutdown. Flow owns only task serialization and engine handling semantics.
Implementations§
Source§impl BootFlowTaskManager
impl BootFlowTaskManager
Sourcepub fn new(engine: FlowEngine, queue: Arc<Queue>) -> Self
pub fn new(engine: FlowEngine, queue: Arc<Queue>) -> Self
Creates a manager for one engine and Boot queue.
Sourcepub fn with_job_name(self, job_name: impl Into<String>) -> Result<Self>
pub fn with_job_name(self, job_name: impl Into<String>) -> Result<Self>
Replaces the Boot processor job name.
Sourcepub fn with_task_policy(self, task_policy: BootFlowTaskPolicy) -> Result<Self>
pub fn with_task_policy(self, task_policy: BootFlowTaskPolicy) -> Result<Self>
Replaces and validates the shared task policy.
Sourcepub fn engine(&self) -> &FlowEngine
pub fn engine(&self) -> &FlowEngine
Returns the Flow engine used by the registered processor.
Sourcepub fn task_policy(&self) -> &BootFlowTaskPolicy
pub fn task_policy(&self) -> &BootFlowTaskPolicy
Returns the shared Flow task policy.
Sourcepub fn job_options_for(&self, task: &FlowTask) -> QueueJobOptions
pub fn job_options_for(&self, task: &FlowTask) -> QueueJobOptions
Build the concrete Boot options that this manager will use for task.
Hosts can add a caller-assigned job ID or other one-off Boot option and
pass the result to Self::enqueue_with_options.
Sourcepub fn register(&self) -> Result<()>
pub fn register(&self) -> Result<()>
Register the Flow task processor with the Boot queue.
The host still starts and stops the queue through QueueModule or the
corresponding Queue::start and Queue::shutdown lifecycle calls.
Sourcepub async fn enqueue_with_receipt(
&self,
task: FlowTask,
) -> Result<QueueJobReceipt>
pub async fn enqueue_with_receipt( &self, task: FlowTask, ) -> Result<QueueJobReceipt>
Enqueues one task and returns its Boot job receipt.
Sourcepub async fn enqueue_with_options(
&self,
task: FlowTask,
options: QueueJobOptions,
) -> Result<QueueJobReceipt>
pub async fn enqueue_with_options( &self, task: FlowTask, options: QueueJobOptions, ) -> Result<QueueJobReceipt>
Enqueue one task with explicit typed A3S Boot job options.
This per-submission entrypoint supports caller-assigned job IDs and the
complete QueueJobOptions surface. Scheduler dispatch through
FlowTaskDispatcher uses this manager’s BootFlowTaskPolicy.
Trait Implementations§
Source§impl Clone for BootFlowTaskManager
impl Clone for BootFlowTaskManager
Source§fn clone(&self) -> BootFlowTaskManager
fn clone(&self) -> BootFlowTaskManager
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BootFlowTaskManager
impl Debug for BootFlowTaskManager
Source§impl FlowTaskDispatcher for BootFlowTaskManager
impl FlowTaskDispatcher for BootFlowTaskManager
Source§fn dispatch<'life0, 'async_trait>(
&'life0 self,
task: FlowTask,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dispatch<'life0, 'async_trait>(
&'life0 self,
task: FlowTask,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn has_runtime_build_route(
&self,
required_build_id: Option<&RuntimeBuildId>,
) -> bool
fn has_runtime_build_route( &self, required_build_id: Option<&RuntimeBuildId>, ) -> bool
Source§fn ensure_runtime_build_route(
&self,
required_build_id: Option<&RuntimeBuildId>,
) -> Result<()>
fn ensure_runtime_build_route( &self, required_build_id: Option<&RuntimeBuildId>, ) -> Result<()>
Source§fn dispatch_for_runtime_build<'life0, 'life1, 'async_trait>(
&'life0 self,
required_build_id: Option<&'life1 RuntimeBuildId>,
task: FlowTask,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn dispatch_for_runtime_build<'life0, 'life1, 'async_trait>(
&'life0 self,
required_build_id: Option<&'life1 RuntimeBuildId>,
task: FlowTask,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
required_build_id. Read more