diff --git a/apps/epg/apps.py b/apps/epg/apps.py index 1a8fa4ff..a6e7a8ed 100644 --- a/apps/epg/apps.py +++ b/apps/epg/apps.py @@ -4,3 +4,7 @@ class EpgConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'apps.epg' verbose_name = "EPG Management" + + def ready(self): + # Import signals to ensure they get registered + import apps.epg.signals diff --git a/apps/epg/signals.py b/apps/epg/signals.py new file mode 100644 index 00000000..c8f4a62c --- /dev/null +++ b/apps/epg/signals.py @@ -0,0 +1,10 @@ +from django.db.models.signals import post_save +from django.dispatch import receiver +from .models import EPGSource +from .tasks import refresh_epg_data + +@receiver(post_save, sender=EPGSource) +def trigger_refresh_on_new_epg_source(sender, instance, created, **kwargs): + # Trigger refresh only if the source is newly created and active + if created and instance.is_active: + refresh_epg_data.delay()