pgmq 0.34.0-alpha.4

A distributed message queue for Rust applications, on Postgres.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// Helper method to convert [`PgRow`] to [`Message`] for the `read*`/`read_batch*` methods.
#[cfg(feature = "sqlx")]
pub fn handle_read_batch_result<T, H>(
    rows: Vec<sqlx::postgres::PgRow>,
) -> Result<Vec<crate::types::Message<T, H>>, crate::errors::PgmqError>
where
    T: for<'de> serde::Deserialize<'de>,
    H: for<'de> serde::Deserialize<'de>,
{
    use sqlx::FromRow;
    let messages = rows
        .into_iter()
        .map(|row| crate::types::Message::<T, H>::from_row(&row))
        .collect::<Result<Vec<crate::types::Message<T, H>>, _>>()?;
    Ok(messages)
}