pub trait JobOrchestrator: Send + Sync {
// Required methods
fn enqueue(&self, request: JobRequest) -> IntegrationResult<JobHandle>;
fn status(&self, id: &str) -> IntegrationResult<JobStatus>;
fn poll(
&self,
id: &str,
attempts: u32,
backoff_ms: u64,
) -> IntegrationResult<JobStatus>;
fn register_completion_callback(&self, callback: JobCompletionCallback);
}