ytsm/app/YtManagerApp/scheduler.py

25 lines
621 B
Python

import logging
import sys
from apscheduler.schedulers.background import BackgroundScheduler
from django.conf import settings
scheduler: BackgroundScheduler = None
def initialize_scheduler():
global scheduler
logger = logging.getLogger('scheduler')
executors = {
'default': {
'type': 'threadpool',
'max_workers': settings.SCHEDULER_CONCURRENCY
}
}
job_defaults = {
'misfire_grace_time': 60 * 60 * 24 * 365 # 1 year
}
scheduler = BackgroundScheduler(logger=logger, executors=executors, job_defaults=job_defaults)
scheduler.start()