APScheduler необходимо переопределить при запуске

#python-3.x #file #sqlalchemy #jupyter-notebook #apscheduler

Вопрос:

Я использую apscheduler в ноутбуке jupyter для планирования заданий cron и использую магазин заданий sqlalchemy.

Каждый раз, когда я открываю приложение, мне приходится переопределять переменные, и поскольку физического файла хранилища заданий нет, задания сбрасываются.

Итак, мой вопрос: как я могу получить этот файл jobs.sqlite в виде физического файла? И каков правильный метод определения планировщика apscheduler, чтобы его не приходилось каждый раз переопределять?

 import sqlalchemy import pymongo 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 from apscheduler.triggers.cron import CronTrigger import logging  logging.basicConfig() logging.getLogger('apscheduler').setLevel(logging.DEBUG)  jobstores = {  'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite'),  'mongo': MongoDBJobStore() }  executors = {  'default': ThreadPoolExecutor(20),  'processpool': ProcessPoolExecutor(5) }  job_defaults = {  'coalesce': False,   'max_instances': 100 }  scheduler = BackgroundScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults, timezone="Asia/Karachi") scheduler.configure({'apscheduler.daemon': False})  

Ответ №1:

Я решил эту проблему.

Вместо того, чтобы делать магазины вакансий=магазины вакансий в последней строке. Вы добавляете еще одну строку:

 scheduler.add_jobstore('sqlalchemy', url='sqlite:///jobs.sqlite')