Интеграция Flask-APScheduler с колбой-миграцией и колбой Script
Мне не ясно, как интегрировать мои модели, используя скрипт-флягу и запланированные задания в одной базе данных. Похоже, что у Flask-apscheduler есть некоторая работа, которая создает базу данных для вас.
Когда я бегу python manage.py db init
Это создаст базу данных с таблицей apscheduled_jobs. Теперь, если я бегу python manage.py db migrate
Я получаю ошибку:
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: apscheduler_jobs.id [SQL: 'INSERT INTO apscheduler_jobs (id, next_run_time, job_state) VALUES (?, ?, ?)'] [parameters: ('job1', 1505317109.041658, <memory at 0x000001AD6754E288>)]
С последующим:
apscheduler.jobstores.base.ConflictingIdError: 'Job identifier (job1) conflicts with an existing job'
Макет моего проекта выглядит примерно так:
В intel\_init__.py
похоже:
from flask import Flask
from flask_apscheduler import APScheduler
from .models import db
app = Flask(__name__)
app.config.from_object('config.Config')
db.init_app(app)
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
manage.py
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from intel_app import app, db
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
РЕДАКТИРОВАТЬ: я переехал schedule.start()
от intel\_init__.py
к run.py
модуль, он будет работать только один раз, для этого я останавливаю приложение и затем перезапускаю приложение, я получаю те же ошибки, что и выше.