pub struct SagaManager { /* private fields */ }
Expand description
Sagaマネージャー
Implementations§
Source§impl SagaManager
impl SagaManager
pub fn new() -> Self
Sourcepub async fn register_pattern(
&self,
pattern: AdvancedSagaPattern,
) -> Result<(), WorkflowError>
pub async fn register_pattern( &self, pattern: AdvancedSagaPattern, ) -> Result<(), WorkflowError>
Sagaパターンを登録
Sourcepub async fn start_saga(
&self,
pattern_name: &str,
workflow_id: WorkflowExecutionId,
inputs: HashMap<String, Value>,
) -> Result<String, WorkflowError>
pub async fn start_saga( &self, pattern_name: &str, workflow_id: WorkflowExecutionId, inputs: HashMap<String, Value>, ) -> Result<String, WorkflowError>
Saga実行を開始
Sourcepub async fn record_transaction(
&self,
saga_id: &str,
transaction: SagaTransaction,
) -> Result<(), WorkflowError>
pub async fn record_transaction( &self, saga_id: &str, transaction: SagaTransaction, ) -> Result<(), WorkflowError>
トランザクションを記録
Sourcepub async fn record_compensation(
&self,
saga_id: &str,
compensation: SagaCompensation,
) -> Result<(), WorkflowError>
pub async fn record_compensation( &self, saga_id: &str, compensation: SagaCompensation, ) -> Result<(), WorkflowError>
補償を記録
Sourcepub async fn update_saga_status(
&self,
saga_id: &str,
status: SagaStatus,
) -> Result<(), WorkflowError>
pub async fn update_saga_status( &self, saga_id: &str, status: SagaStatus, ) -> Result<(), WorkflowError>
Saga状態を更新
Sourcepub async fn get_saga_context(&self, saga_id: &str) -> Option<SagaContext>
pub async fn get_saga_context(&self, saga_id: &str) -> Option<SagaContext>
Sagaコンテキストを取得
Sourcepub async fn get_compensable_transactions(
&self,
saga_id: &str,
) -> Result<Vec<SagaTransaction>, WorkflowError>
pub async fn get_compensable_transactions( &self, saga_id: &str, ) -> Result<Vec<SagaTransaction>, WorkflowError>
補償が必要なトランザクションを取得
Sourcepub async fn get_compensation_order(
&self,
saga_id: &str,
policy: &CompensationPolicy,
) -> Result<Vec<String>, WorkflowError>
pub async fn get_compensation_order( &self, saga_id: &str, policy: &CompensationPolicy, ) -> Result<Vec<String>, WorkflowError>
Sagaの補償実行順序を決定
Sourcepub async fn resolve_dependencies(
&self,
pattern: &AdvancedSagaPattern,
completed: &[String],
) -> Vec<String>
pub async fn resolve_dependencies( &self, pattern: &AdvancedSagaPattern, completed: &[String], ) -> Vec<String>
Sagaの依存関係を解決
Sourcepub fn get_metrics(&self) -> &SagaMetrics
pub fn get_metrics(&self) -> &SagaMetrics
Sagaのメトリクスを取得
Sourcepub async fn get_running_sagas(&self) -> Vec<SagaContext>
pub async fn get_running_sagas(&self) -> Vec<SagaContext>
実行中のSagaを取得
Sourcepub async fn detect_timed_out_sagas(&self) -> Vec<String>
pub async fn detect_timed_out_sagas(&self) -> Vec<String>
タイムアウトしたSagaを検出
Sourcepub async fn cleanup_saga(&self, saga_id: &str) -> Result<(), WorkflowError>
pub async fn cleanup_saga(&self, saga_id: &str) -> Result<(), WorkflowError>
Sagaをクリーンアップ
Auto Trait Implementations§
impl !Freeze for SagaManager
impl !RefUnwindSafe for SagaManager
impl Send for SagaManager
impl Sync for SagaManager
impl Unpin for SagaManager
impl !UnwindSafe for SagaManager
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