Skip to main content

with_sea_orm_retry

Function with_sea_orm_retry 

Source
pub async fn with_sea_orm_retry<F, Fut, T>(
    operation_name: &str,
    config: RetryConfig,
    operation: F,
) -> Result<T, DbErr>
where F: FnMut() -> Fut, Fut: Future<Output = Result<T, DbErr>>,
Expand description

Executes a SeaORM operation with shared transient-error classification and backoff.

This is a statement-level escape hatch for idempotent single statements only (reads, upserts, deletes by key). Never use it around a multi-statement transaction: a deadlock rolls the whole transaction back, and re-running individual statements afterwards executes them in autocommit mode, producing partial writes. Transactions belong in crate::transaction::with_transaction_retry, which retries the entire callback and classifies commit outcomes.