graphile_worker 0.11.4

High performance Rust/PostgreSQL job queue (also suitable for getting jobs generated by PostgreSQL triggers/functions out into a different work queue)
Documentation
pub fn get_flag_clause(flags_to_skip: &[String], param_ord: u8) -> String {
    if !flags_to_skip.is_empty() {
        return format!("and ((flags ?| ${param_ord}::text[]) is not true)");
    }
    String::new()
}

pub fn get_queue_clause(escaped_schema: &str) -> String {
    format!(
        r#"
            and (
                jobs.job_queue_id is null
                or
                jobs.job_queue_id in (
                    select id
                    from {escaped_schema}._private_job_queues as job_queues
                    where job_queues.is_available = true
                    for update
                    skip locked
                )
            )
        "#
    )
}

pub fn get_update_queue_clause(
    escaped_schema: &str,
    worker_id_param: u8,
    now_param: Option<u8>,
) -> String {
    let locked_at = get_now_clause(now_param);
    format!(
        r#",
            q as (
                update {escaped_schema}._private_job_queues as job_queues
                    set
                        locked_by = ${worker_id_param},
                        locked_at = {locked_at}
                from j
                where job_queues.id = j.job_queue_id
            )
        "#
    )
}

pub fn get_now_clause(now_param: Option<u8>) -> String {
    now_param
        .map(|p| format!("${p}::timestamptz"))
        .unwrap_or_else(|| "now()".to_string())
}