#python #sqlite #apscheduler
#python #sqlite #apscheduler
Вопрос:
Я пытаюсь выяснить, как выглядит схема базы данных sqlite после сохранения некоторых заданий с помощью расширенного планировщика Python. Мне это нужно, потому что я хочу показать задание в пользовательском интерфейсе. Я попытался написать простой скрипт, который сохраняет задание :
from pytz import utc
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
from datetime import datetime
import os
from apscheduler.schedulers.blocking import BlockingScheduler
jobstores = {
'default': SQLAlchemyJobStore(url='sqlite:///test.db')
}
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)
def tick():
print('Tick! The time is: %s' % datetime.now())
scheduler = BlockingScheduler()
scheduler.add_executor('processpool')
scheduler.add_job(tick, 'interval', seconds=3)
print('Press Ctrl {0} to exit'.format('Break' if os.name == 'nt' else 'C'))
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
pass
Но команда «.fullschema» в терминале показывает мне, что в test.db нет таблицы и данных. Что именно я делаю не так?
Ответ №1:
Вы создаете два планировщика, но запускаете только один с конфигурацией по умолчанию.