Интеграция 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 модуль, он будет работать только один раз, для этого я останавливаю приложение и затем перезапускаю приложение, я получаю те же ошибки, что и выше.

0 ответов

Другие вопросы по тегам