pub struct MemoryResultBackend { /* private fields */ }Expand description
In-memory result backend for development and testing.
Stores task results in a HashMap protected by a std::sync::Mutex.
This is cheap to construct and requires no external services, but results
are lost when the process exits and the Mutex may become a bottleneck
under very high concurrency. For production use, prefer
RedisResultBackend (from kojin-redis) or
PostgresResultBackend (from kojin-postgres).
Implementations§
Trait Implementations§
Source§impl Debug for MemoryResultBackend
impl Debug for MemoryResultBackend
Source§impl Default for MemoryResultBackend
impl Default for MemoryResultBackend
Source§fn default() -> MemoryResultBackend
fn default() -> MemoryResultBackend
Returns the “default value” for a type. Read more
Source§impl ResultBackend for MemoryResultBackend
impl ResultBackend for MemoryResultBackend
Source§fn store<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
result: &'life2 Value,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
result: &'life2 Value,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store a task result.
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = TaskResult<Option<Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = TaskResult<Option<Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a stored result.
Source§fn wait<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = TaskResult<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = TaskResult<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Wait for a result to be available, with timeout.
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a stored result.
Source§fn init_group<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
total: u32,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn init_group<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
total: u32,
) -> Pin<Box<dyn Future<Output = TaskResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Initialize a group with the expected total count.
Source§fn complete_group_member<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
_task_id: &'life2 TaskId,
result: &'life3 Value,
) -> Pin<Box<dyn Future<Output = TaskResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete_group_member<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
_task_id: &'life2 TaskId,
result: &'life3 Value,
) -> Pin<Box<dyn Future<Output = TaskResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Mark a group member as complete and return the number of completed members.
Auto Trait Implementations§
impl !Freeze for MemoryResultBackend
impl RefUnwindSafe for MemoryResultBackend
impl Send for MemoryResultBackend
impl Sync for MemoryResultBackend
impl Unpin for MemoryResultBackend
impl UnsafeUnpin for MemoryResultBackend
impl UnwindSafe for MemoryResultBackend
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