apalis_sqlite/queries/
ack_task.rs1use apalis_core::backend::TaskResult;
2use sqlx::Executor;
3
4pub type AckPayload = TaskResult<serde_json::Value>;
6
7pub async fn ack_tasks<'a, E>(
9 executor: E,
10 messages: &[&AckPayload],
11 worker_id: &str,
12) -> Result<u64, sqlx::Error>
13where
14 E: Executor<'a, Database = sqlx::Sqlite>,
15{
16 let payload_json =
17 serde_json::to_string(&messages).map_err(|e| sqlx::Error::Encode(Box::new(e)))?;
18
19 let result = sqlx::query_file!("queries/task/ack.sql", payload_json, worker_id)
20 .execute(executor)
21 .await?;
22
23 Ok(result.rows_affected())
24}