fix(provider): disable periodic task on views before deleting (#7466)

Co-authored-by: Víctor Fernández Poyatos <victor@prowler.com>
This commit is contained in:
Adrián Jesús Peña RodríguezandVíctor Fernández Poyatos authored and GitHub committed 2025-04-08 15:35:22 +05:45
1 parent 57fca3e54d
commit 5b7912b558
2 files changed
+10 -2

No files matched your search

+3 -2
View File
@@ -22,6 +22,7 @@ from django.http import HttpResponse
from django.urls import reverse
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_control
from django_celery_beat.models import PeriodicTask
from drf_spectacular.settings import spectacular_settings
from drf_spectacular.utils import (
OpenApiParameter,
@@ -55,7 +56,6 @@ from tasks.tasks import (
from api.base_views import BaseRLSViewSet, BaseTenantViewset, BaseUserViewset
from api.db_router import MainRouter
from api.db_utils import delete_related_daily_task
from api.filters import (
ComplianceOverviewFilter,
FindingFilter,
@@ -1089,7 +1089,8 @@ class ProviderViewSet(BaseRLSViewSet):
provider = get_object_or_404(Provider, pk=pk)
provider.is_deleted = True
provider.save()
delete_related_daily_task(str(provider.id))
task_name = f"scan-perform-scheduled-{pk}"
PeriodicTask.objects.filter(name=task_name).update(enabled=False)
with transaction.atomic():
task = delete_provider_task.delay(