From f1a8d5b31c1c96b840febab74907ea63541d8ea7 Mon Sep 17 00:00:00 2001 From: "@Antelox" <anteloxrce@gmail.com> Date: Thu, 8 Jun 2023 23:19:59 +0200 Subject: [PATCH 1/2] Replace restart_tasks and delete_tasks methods with the relative KartonBackend methods --- karton/dashboard/app.py | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/karton/dashboard/app.py b/karton/dashboard/app.py index 98a272d..575c504 100644 --- a/karton/dashboard/app.py +++ b/karton/dashboard/app.py @@ -18,7 +18,6 @@ request, send_from_directory, ) -from karton.core import Producer from karton.core.backend import KartonMetrics from karton.core.base import KartonBase from karton.core.inspect import KartonAnalysis, KartonQueue, KartonState @@ -51,21 +50,6 @@ class KartonDashboard(KartonBase): ) -def restart_tasks(tasks: List[Task]) -> None: - identity = "karton.dashboard-retry" - producer = Producer(identity=identity) - - for task in tasks: - # spawn a new task and mark the original one as finished - producer.send_task(task.fork_task()) - karton.backend.set_task_status(task=task, status=TaskState.FINISHED) - - -def cancel_tasks(tasks: List[Task]) -> None: - for task in tasks: - karton.backend.set_task_status(task=task, status=TaskState.FINISHED) - - class TaskView: """ All problems in computer science can be solved by another @@ -280,7 +264,8 @@ def restart_crashed_queue_tasks(queue_name): if not queue: return jsonify({"error": "Queue doesn't exist"}), 404 - restart_tasks(queue.crashed_tasks) + for task in queue.crashed_tasks: + karton.backend.restart_task(task) return redirect(request.referrer) @@ -291,7 +276,7 @@ def cancel_crashed_queue_tasks(queue_name): if not queue: return jsonify({"error": "Queue doesn't exist"}), 404 - cancel_tasks(queue.crashed_tasks) + karton.backend.delete_tasks(queue.crashed_tasks) return redirect(request.referrer) @@ -302,7 +287,7 @@ def cancel_pending_queue_tasks(queue_name): if not queue: return jsonify({"error": "Queue doesn't exist"}), 404 - cancel_tasks(queue.pending_tasks) + karton.backend.delete_tasks(queue.pending_tasks) return redirect(request.referrer) @@ -312,7 +297,7 @@ def restart_task(task_id): if not task: return jsonify({"error": "Task doesn't exist"}), 404 - restart_tasks([task]) + karton.backend.restart_task(task) return redirect(request.referrer) @@ -322,7 +307,7 @@ def cancel_task(task_id): if not task: return jsonify({"error": "Task doesn't exist"}), 404 - cancel_tasks([task]) + karton.backend.delete_tasks([task]) return redirect(request.referrer) From 048be00510f5d10804fc3a0dd29de30649d25628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Praszmo?= <michalpr@cert.pl> Date: Tue, 20 Jun 2023 09:50:29 +0200 Subject: [PATCH 2/2] Revert cancel refactor --- karton/dashboard/app.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/karton/dashboard/app.py b/karton/dashboard/app.py index 575c504..64d9681 100644 --- a/karton/dashboard/app.py +++ b/karton/dashboard/app.py @@ -50,6 +50,11 @@ class KartonDashboard(KartonBase): ) +def cancel_tasks(tasks: List[Task]) -> None: + for task in tasks: + karton.backend.set_task_status(task=task, status=TaskState.FINISHED) + + class TaskView: """ All problems in computer science can be solved by another @@ -276,7 +281,7 @@ def cancel_crashed_queue_tasks(queue_name): if not queue: return jsonify({"error": "Queue doesn't exist"}), 404 - karton.backend.delete_tasks(queue.crashed_tasks) + cancel_tasks(queue.crashed_tasks) return redirect(request.referrer) @@ -287,7 +292,7 @@ def cancel_pending_queue_tasks(queue_name): if not queue: return jsonify({"error": "Queue doesn't exist"}), 404 - karton.backend.delete_tasks(queue.pending_tasks) + cancel_tasks(queue.pending_tasks) return redirect(request.referrer) @@ -307,7 +312,7 @@ def cancel_task(task_id): if not task: return jsonify({"error": "Task doesn't exist"}), 404 - karton.backend.delete_tasks([task]) + cancel_tasks([task]) return redirect(request.referrer)