mirror of
https://github.com/wahyd4/links.git
synced 2026-08-09 05:06:16 +10:00
44 lines
1.4 KiB
Python
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")
|