v0.2.1
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-31 15:55:47 +01:00
1 parent 0d9f3ff447
commit 95c0587c1e
26 files changed
+237 -52

No files matched your search

+39
View File
@@ -164,6 +164,45 @@ pub fn mark_failure(
Ok(changed > 0)
}
pub fn defer_transient_failure(
conn: &Connection,
event: &OutboxEvent,
error: &str,
delay_secs: u64,
) -> Result<bool, String> {
let available_at = now_epoch().saturating_add(delay_secs.max(1) as i64);
let now = now_epoch();
let truncated: String = error.chars().take(2048).collect();
let changed = match crate::db::pool::configured_backend() {
crate::db::pool::DatabaseBackend::Mysql => conn.execute(
crate::dbq!(db_search_outbox::Q_004),
params![
event.attempts,
available_at,
false,
&truncated,
now,
&event.id,
&event.generation
],
),
_ => conn.execute(
crate::dbq!(db_search_outbox::Q_004),
params![
&event.id,
&event.generation,
event.attempts,
available_at,
false,
&truncated,
now
],
),
}
.map_err(|e| format!("failed to defer transient search event: {e}"))?;
Ok(changed > 0)
}
pub fn clear_before(conn: &Connection, updated_before: i64) -> Result<usize, String> {
conn.execute(
crate::dbq!(db_search_outbox::Q_007),