From 8381c352f7bcdf3ac238eb70ab5f877e7a6c4d09 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 23 Apr 2024 21:13:03 -0400 Subject: [PATCH] limit session jobs query --- .../src/queries/generic_inference/web/list_session_jobs.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs b/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs index 40b74480b7..3fbf2a7c34 100644 --- a/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs +++ b/crates/lib/mysql_queries/src/queries/generic_inference/web/list_session_jobs.rs @@ -125,6 +125,9 @@ pub async fn list_session_jobs_from_connection( query_builder.push(" WHERE jobs.maybe_creator_user_token = "); query_builder.push_bind(args.user_token.to_string()); + // NB: `created_at` doesn't have an index, but `maybe_creator_user_token` does. + query_builder.push(" AND created_at > DATE_SUB(NOW(), INTERVAL 36 HOUR) "); + if let Some(statuses) = args.maybe_include_job_statuses { if !statuses.is_empty() { query_builder.push(" AND jobs.status IN ("); @@ -149,6 +152,9 @@ pub async fn list_session_jobs_from_connection( } } + query_builder.push(" ORDER BY id DESC "); + query_builder.push(" LIMIT 100 "); + let query = query_builder.build_query_as::(); let query_results = query.fetch_all(&mut **mysql_connection).await;