Split orchestration by durable use case
This commit is contained in:
parent
069f3813ae
commit
fa81cb7f21
2 changed files with 609 additions and 513 deletions
|
|
@ -46,6 +46,8 @@ use crate::{
|
|||
WorkerError,
|
||||
};
|
||||
|
||||
mod source_execution;
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct ObjectSourceEndpoint {
|
||||
pub endpoint: String,
|
||||
|
|
@ -159,20 +161,8 @@ impl AdapterExecutor {
|
|||
resume: &resume,
|
||||
};
|
||||
|
||||
match source {
|
||||
SourceSubmissionDto::Http(source) => {
|
||||
self.execute_http(context, envelope, source, secret, &resources)
|
||||
.await?;
|
||||
}
|
||||
SourceSubmissionDto::ObjectStore(source) => {
|
||||
self.execute_object(context, envelope, source, secret, &resources)
|
||||
.await?;
|
||||
}
|
||||
SourceSubmissionDto::HuggingFace(source) => {
|
||||
self.execute_hugging_face(context, envelope, source, secret, &resources)
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
self.execute_source(context, envelope, source, secret, &resources)
|
||||
.await?;
|
||||
|
||||
context
|
||||
.require_live_authority()
|
||||
|
|
|
|||
31
crates/remora-worker/src/executor/source_execution.rs
Normal file
31
crates/remora-worker/src/executor/source_execution.rs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
use remora_contracts::{ExecutionEnvelopeDto, SourceSubmissionDto};
|
||||
use remora_credentials::SecretMaterial;
|
||||
|
||||
use super::{AdapterExecutor, AdapterFailure, ExecutionResources};
|
||||
use crate::AttemptContext;
|
||||
|
||||
impl AdapterExecutor {
|
||||
pub(super) async fn execute_source(
|
||||
&self,
|
||||
context: &AttemptContext,
|
||||
envelope: &ExecutionEnvelopeDto,
|
||||
source: SourceSubmissionDto,
|
||||
secret: Option<SecretMaterial>,
|
||||
resources: &ExecutionResources<'_>,
|
||||
) -> Result<(), AdapterFailure> {
|
||||
match source {
|
||||
SourceSubmissionDto::Http(source) => {
|
||||
self.execute_http(context, envelope, source, secret, resources)
|
||||
.await
|
||||
}
|
||||
SourceSubmissionDto::ObjectStore(source) => {
|
||||
self.execute_object(context, envelope, source, secret, resources)
|
||||
.await
|
||||
}
|
||||
SourceSubmissionDto::HuggingFace(source) => {
|
||||
self.execute_hugging_face(context, envelope, source, secret, resources)
|
||||
.await
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue