pub struct FileExecutionStore { /* private fields */ }Expand description
File-system-backed ExecutionStore that stores one JSON file per execution.
Storage layout:
base_dir/
└── executions/
├── {id}.json
└── ...Implementations§
Trait Implementations§
Source§impl ExecutionStore for FileExecutionStore
impl ExecutionStore for FileExecutionStore
Source§fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 ExecutionRecord,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 ExecutionRecord,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Persist an execution record.
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve an execution record by ID, returning
None if not found.Source§fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 ExecutionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExecutionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 ExecutionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExecutionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List execution records matching the given filter.
Source§fn stats<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 ExecutionFilter,
) -> Pin<Box<dyn Future<Output = Result<ExecutionStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stats<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 ExecutionFilter,
) -> Pin<Box<dyn Future<Output = Result<ExecutionStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Compute aggregated statistics for executions matching the filter.
Source§fn prune<'life0, 'async_trait>(
&'life0 self,
older_than_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune<'life0, 'async_trait>(
&'life0 self,
older_than_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete execution records whose
finished_at is older than the given
unix timestamp in milliseconds. Returns the number of records deleted.Auto Trait Implementations§
impl Freeze for FileExecutionStore
impl RefUnwindSafe for FileExecutionStore
impl Send for FileExecutionStore
impl Sync for FileExecutionStore
impl Unpin for FileExecutionStore
impl UnsafeUnpin for FileExecutionStore
impl UnwindSafe for FileExecutionStore
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