Files
links/core/apps.py
T

44 lines
1.4 KiB
Python

"""
Core app configuration
"""
from django.apps import AppConfig
import logging
logger = logging.getLogger(__name__)
class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'core'
def ready(self):
"""
Initialize APScheduler when Django starts
"""
from core.scheduler import scheduler, start_scheduler
from links.tasks import schedule_pending_pages, schedule_pending_screenshots
from apscheduler.triggers.interval import IntervalTrigger
# Start the scheduler
start_scheduler()
# Add periodic job for checking pending pages
if not scheduler.get_job('schedule_pending_pages'):
scheduler.add_job(
schedule_pending_pages,
trigger=IntervalTrigger(seconds=120),
id='schedule_pending_pages',
replace_existing=True
)
logger.info("Scheduled periodic task: schedule_pending_pages")
# Add periodic job for recovering stuck screenshots
if not scheduler.get_job('schedule_pending_screenshots'):
scheduler.add_job(
schedule_pending_screenshots,
trigger=IntervalTrigger(seconds=120),
id='schedule_pending_screenshots',
replace_existing=True
)
logger.info("Scheduled periodic task: schedule_pending_screenshots")