pub trait ArtifactStore:
Send
+ Sync
+ 'static {
// Required methods
fn put_outputs(
&self,
workflow_id: &str,
job_id: &str,
outputs: HashMap<String, String>,
) -> impl Future<Output = Result<(), ArtifactError>> + Send;
fn get_outputs(
&self,
workflow_id: &str,
job_id: &str,
) -> impl Future<Output = Result<HashMap<String, String>, ArtifactError>> + Send;
fn get_upstream_outputs(
&self,
workflow_id: &str,
job_ids: &[String],
) -> impl Future<Output = Result<HashMap<String, HashMap<String, String>>, ArtifactError>> + Send;
}Expand description
Pluggable artifact/output storage.
Jobs publish key-value outputs; downstream jobs read upstream outputs. Implementations: InMemoryArtifactStore, S3ArtifactStore, FsArtifactStore.
Required Methods§
Sourcefn put_outputs(
&self,
workflow_id: &str,
job_id: &str,
outputs: HashMap<String, String>,
) -> impl Future<Output = Result<(), ArtifactError>> + Send
fn put_outputs( &self, workflow_id: &str, job_id: &str, outputs: HashMap<String, String>, ) -> impl Future<Output = Result<(), ArtifactError>> + Send
Store key-value outputs for a completed job.
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.