# NetworkMonitoring/beat_periodics.py

from importlib import import_module
from django.conf import settings
import importlib.util

def collect_periodics():
    schedule = {}
    for app in settings.INSTALLED_APPS:
        for name in ['beat', 'periodics', 'celery_beat']:
            try:
                spec = importlib.util.find_spec(f"{app}.{name}")
                if spec:
                    mod = import_module(f"{app}.{name}")
                    schedule.update(getattr(mod, 'periodics', {}))
            except Exception:
                continue
    return schedule