Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions procrastinate/contrib/django/admin.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
from __future__ import annotations

import json
from contextlib import suppress
from typing import Any

from django.apps import apps
from django.contrib import admin
from django.db import transaction
from django.db.models import Prefetch, QuerySet
from django.http.request import HttpRequest
from django.template.loader import render_to_string
Expand All @@ -14,6 +16,7 @@

from procrastinate import App, utils
from procrastinate.contrib.django.apps import ProcrastinateConfig
from procrastinate.exceptions import AlreadyEnqueued
from procrastinate.jobs import Status

from . import models
Expand Down Expand Up @@ -143,9 +146,10 @@ def retry(self, request: HttpRequest, queryset: QuerySet[models.ProcrastinateJob
for job in queryset.filter(
status__in=(Status.FAILED.value, Status.DOING.value)
):
p_app.job_manager.retry_job_by_id(
job.id, utils.utcnow(), job.priority, job.queue_name, job.lock
)
with transaction.atomic(), suppress(AlreadyEnqueued):
p_app.job_manager.retry_job_by_id(
job.id, utils.utcnow(), job.priority, job.queue_name, job.lock
)
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

@admin.action(description="Cancel Job (only 'todo' jobs)")
def cancel(self, request: HttpRequest, queryset: QuerySet[models.ProcrastinateJob]):
Expand Down
Loading