pub struct SqliteBroker { /* private fields */ }Expand description
SQLite-backed broker implementation.
Persists the queue to a SQLite database, surviving process restarts.
Implementations§
Trait Implementations§
Source§impl Broker for SqliteBroker
impl Broker for SqliteBroker
Source§fn route_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn route_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Queue an invocation for processing by a runner. Read more
Source§fn retrieve_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn retrieve_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve the next invocation to process.
Returns
None if the queue is empty.Source§fn count_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Count queued invocations, optionally filtered by task.
Source§fn purge<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn purge<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove all queued invocations.
Source§fn retrieve_invocation_for_language<'life0, 'life1, 'async_trait>(
&'life0 self,
language: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn retrieve_invocation_for_language<'life0, 'life1, 'async_trait>(
&'life0 self,
language: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve the next invocation for a specific language worker. Read more
Source§fn route_invocation_for_task<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
_task_id: &'life2 TaskId,
) -> Pin<Box<dyn Future<Output = Result<(), RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn route_invocation_for_task<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
_task_id: &'life2 TaskId,
) -> Pin<Box<dyn Future<Output = Result<(), RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Queue an invocation for processing, with the task ID for per-task routing. Read more
Source§fn route_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [InvocationId],
) -> Pin<Box<dyn Future<Output = Result<(), RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn route_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [InvocationId],
) -> Pin<Box<dyn Future<Output = Result<(), RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Queue multiple invocations at once (batch optimization).
Source§fn retrieve_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
max: usize,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = Result<Vec<InvocationId>, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn retrieve_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
max: usize,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = Result<Vec<InvocationId>, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Retrieve up to
max invocations at once (batch optimization). Read moreSource§fn wait_for_work<'life0, 'life1, 'async_trait>(
&'life0 self,
cancel: &'life1 CancellationToken,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn wait_for_work<'life0, 'life1, 'async_trait>(
&'life0 self,
cancel: &'life1 CancellationToken,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Block until work is available or cancellation is requested. Read more
Auto Trait Implementations§
impl Freeze for SqliteBroker
impl RefUnwindSafe for SqliteBroker
impl Send for SqliteBroker
impl Sync for SqliteBroker
impl Unpin for SqliteBroker
impl UnsafeUnpin for SqliteBroker
impl UnwindSafe for SqliteBroker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more