diff --git a/jobs.py b/jobs.py index 12f7ce93018ad483451c03cf765fe047e4675e5b..11958284176b22b465125ee4ebcf5ea5be4c88f2 100644 --- a/jobs.py +++ b/jobs.py @@ -37,9 +37,12 @@ def jobs_overview(): @app.route('/internal/jobs/action/<action>') @mod_required @csrf_protect -def jobs_action(action): +def jobs_action(action, jobid=None): + print(jobid) if action == 'clear_failed': - query('UPDATE jobs SET state="deleted" WHERE state="failed"') + query('UPDATE jobs SET state="deleted" WHERE state = "failed" AND (id = ? OR ? IS NULL)',jobid, jobid) + if action == 'retry_failed': + query('UPDATE jobs SET state="ready" WHERE state = "failed" AND (id = ? OR ? IS NULL)', jobid, jobid) return redirect(request.values.get('ref', url_for('jobs_overview'))) def jobs_api_token_required(func): diff --git a/templates/jobs_overview.html b/templates/jobs_overview.html index 835bcbe12ab8fb386ba5dea6de8533423a3394e3..66db8474566da34d1505e1c5e16e3986a9858fb8 100644 --- a/templates/jobs_overview.html +++ b/templates/jobs_overview.html @@ -38,6 +38,7 @@ Jobs <a class="btn btn-default">Job(s) erzeugen</a> <a class="btn btn-default" href="{{url_for('jobs_action', action='clear_failed', ref=request.url)}}" >Alle fehlgeschlagenen Jobs löschen</a> + <a class="btn btn-default" href="{{url_for('jobs_action', action='retry_failed', ref=request.url)}}" >Alle fehlgeschlagenen Jobs neustarten</a> </h1> </div> <div class="panel-collapse collapse in">