17 lines
502 B
Rust
17 lines
502 B
Rust
use std::collections::HashMap;
|
|
|
|
use sqlx::{Pool, Postgres};
|
|
|
|
pub async fn get_queue_counts(db: &Pool<Postgres>) -> HashMap<String, u32> {
|
|
sqlx::query!(
|
|
"SELECT tag AS \"tag!\", count(*) AS \"count!\" FROM v2_job_queue WHERE
|
|
scheduled_for <= now() - ('3 seconds')::interval AND running = false
|
|
GROUP BY tag",
|
|
)
|
|
.fetch_all(db)
|
|
.await
|
|
.ok()
|
|
.map(|v| v.into_iter().map(|x| (x.tag, x.count as u32)).collect())
|
|
.unwrap_or_else(|| HashMap::new())
|
|
}
|