Понимание конфигурации APScheduler - PullRequest
0 голосов
/ 04 августа 2020

Пример, показанный ниже, получен из https://apscheduler.readthedocs.io/en/stable/userguide.html#configuring -the-scheduler . Он демонстрирует, как настроить планировщик. Но я не понимаю, что именно делает конфиг.

Вопрос

  1. jobstores имеет два ключа, один с использованием MongoDB, а другой - SQLite. Итак, какой из них будет использовать планировщик?

  2. executors также имеет два ключа: один использует ThreadPoolExecutor, а другой - ProcessPoolExecutor. Какой бы он использовал? А что происходит распараллеливанием (например, все запланированные задания)?

from pytz import utc

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.mongodb import MongoDBJobStore
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor


jobstores = {
    'mongo': MongoDBJobStore(),
    'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite')
}
executors = {
    'default': ThreadPoolExecutor(20),
    'processpool': ProcessPoolExecutor(5)
}
job_defaults = {
    'coalesce': False,
    'max_instances': 3
}
scheduler = BackgroundScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults, timezone=utc)
...