diff --git a/backend/.sqlx/query-02424907504848e983bfa89eec343061932dc5b4b17cf13d5cf8d833aedbe6d5.json b/backend/.sqlx/query-02424907504848e983bfa89eec343061932dc5b4b17cf13d5cf8d833aedbe6d5.json index 043d236a6b..c8b5e3086f 100644 --- a/backend/.sqlx/query-02424907504848e983bfa89eec343061932dc5b4b17cf13d5cf8d833aedbe6d5.json +++ b/backend/.sqlx/query-02424907504848e983bfa89eec343061932dc5b4b17cf13d5cf8d833aedbe6d5.json @@ -5,7 +5,7 @@ "columns": [ { "ordinal": 0, - "name": "bool", + "name": "?column?", "type_info": "Bool" } ], diff --git a/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json b/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json index 1fa370e682..75b8108281 100644 --- a/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json +++ b/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json @@ -5,7 +5,7 @@ "columns": [ { "ordinal": 0, - "name": "bool", + "name": "?column?", "type_info": "Bool" } ], diff --git a/backend/.sqlx/query-803b9c1373541cf52f416cde9e9e99ab79072e21dfaafb498aac25a059bd2f30.json b/backend/.sqlx/query-803b9c1373541cf52f416cde9e9e99ab79072e21dfaafb498aac25a059bd2f30.json new file mode 100644 index 0000000000..b416f93d3b --- /dev/null +++ b/backend/.sqlx/query-803b9c1373541cf52f416cde9e9e99ab79072e21dfaafb498aac25a059bd2f30.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM job WHERE id = ANY($1)", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "UuidArray" + ] + }, + "nullable": [] + }, + "hash": "803b9c1373541cf52f416cde9e9e99ab79072e21dfaafb498aac25a059bd2f30" +} diff --git a/backend/migrations/20241121071235_gc_jobs.down.sql b/backend/migrations/20241121071235_gc_jobs.down.sql new file mode 100644 index 0000000000..6bc376fc3d --- /dev/null +++ b/backend/migrations/20241121071235_gc_jobs.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +-- Nothing to do here diff --git a/backend/migrations/20241121071235_gc_jobs.up.sql b/backend/migrations/20241121071235_gc_jobs.up.sql new file mode 100644 index 0000000000..830827cc35 --- /dev/null +++ b/backend/migrations/20241121071235_gc_jobs.up.sql @@ -0,0 +1,4 @@ +-- Add up migration script here +DELETE FROM job +WHERE NOT EXISTS (SELECT 1 FROM completed_job WHERE completed_job.id = job.id) + AND NOT EXISTS (SELECT 1 FROM queue WHERE queue.id = job.id); diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index a623d76d39..c4570ab4a8 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -686,6 +686,15 @@ pub async fn delete_expired_items(db: &DB) -> () { { tracing::error!("Error deleting log file: {:?}", e); } + if let Err(e) = sqlx::query!( + "DELETE FROM job WHERE id = ANY($1)", + &deleted_jobs + ) + .execute(&mut *tx) + .await + { + tracing::error!("Error deleting job: {:?}", e); + } } } Err(e) => {