From c3cad47e4c97346a2ef360fec614f6fc25239b29 Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Thu, 8 May 2025 20:02:03 -0500 Subject: [PATCH] Properly disable celery task when epg is disabled. --- apps/epg/signals.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/epg/signals.py b/apps/epg/signals.py index f88b9f3f..7fa7f54f 100644 --- a/apps/epg/signals.py +++ b/apps/epg/signals.py @@ -29,7 +29,7 @@ def create_or_update_refresh_task(sender, instance, **kwargs): "interval": interval, "task": "apps.epg.tasks.refresh_epg_data", "kwargs": json.dumps({"source_id": instance.id}), - "enabled": instance.refresh_interval != 0, + "enabled": instance.refresh_interval != 0 and instance.is_active, }) update_fields = [] @@ -39,8 +39,11 @@ def create_or_update_refresh_task(sender, instance, **kwargs): if task.interval != interval: task.interval = interval update_fields.append("interval") - if task.enabled != (instance.refresh_interval != 0): - task.enabled = instance.refresh_interval != 0 + + # Check both refresh_interval and is_active to determine if task should be enabled + should_be_enabled = instance.refresh_interval != 0 and instance.is_active + if task.enabled != should_be_enabled: + task.enabled = should_be_enabled update_fields.append("enabled") if update_fields: @@ -48,7 +51,7 @@ def create_or_update_refresh_task(sender, instance, **kwargs): if instance.refresh_task != task: instance.refresh_task = task - instance.save(update_fields=update_fields) + instance.save(update_fields=["refresh_task"]) # Fixed field name @receiver(post_delete, sender=EPGSource) def delete_refresh_task(sender, instance, **kwargs):