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íguez
2025-04-08 11:50:22 +02:00
committed by GitHub
parent 57fca3e54d
commit 5b7912b558
2 changed files with 10 additions and 2 deletions
+7
View File
@@ -16,6 +16,13 @@ All notable changes to the **Prowler API** are documented in this file.
---
## [v1.5.4] (Prowler v5.4.4)
### Fixed
- Fixed a bug with periodic tasks when trying to delete a provider ([#7466])(https://github.com/prowler-cloud/prowler/pull/7466).
---
## [v1.5.3] (Prowler v5.4.3)
### Fixed
+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(