{% extends "root.html" %}
{% block inner %}
<div class="space-y-6 text-left">
<div class="flex justify-between items-center mb-4">
<h2 class="text-2xl font-bold text-accent">Failed jobs ({{ rows|length }})</h2>
{% if rows %}
<form method="post" action="/failed/retry" class="m-0">
<button type="submit" class="btn btn-warning btn-sm">
<i class="fas fa-rotate-right"></i> Retry all
</button>
</form>
{% endif %}
</div>
{% if request and request.query.notice %}
<div class="alert alert-success">
<i class="fas fa-circle-check"></i>
<span>{{ request.query.notice }}</span>
</div>
{% endif %}
{% if not rows %}
<div class="alert alert-info">
<i class="fas fa-circle-info"></i>
<span>Nothing to retry — no failed jobs.</span>
</div>
{% else %}
<div class="overflow-x-auto">
<table class="table table-zebra table-sm">
<thead>
<tr>
<th>Upload</th>
<th>Kind</th>
<th>Attempts</th>
<th>Error</th>
<th>Last attempt</th>
<th class="text-right">Actions</th>
</tr>
</thead>
<tbody>
{% for r in rows %}
<tr>
<td>
<a href="/uploads/{{ r.upload_id }}" class="link link-hover font-mono text-xs">
{{ r.file_name_original }}
</a>
</td>
<td><span class="badge badge-ghost">{{ r.kind }}</span></td>
<td>{{ r.attempts }}</td>
<td class="font-mono text-xs max-w-md truncate" title="{{ r.error or '' }}">
{{ r.error or '—' }}
</td>
<td class="font-mono text-xs">{{ r.updated_at }}</td>
<td class="text-right">
<form method="post"
action="/uploads/{{ r.upload_id }}/jobs/{{ r.kind }}/retry"
class="inline m-0">
<button type="submit" class="btn btn-ghost btn-xs">
<i class="fas fa-rotate-right"></i> Retry
</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
</div>
{% endblock %}
⭐
Log in to mark this repository.
2.1 KiB · text
History
94679c7