def create_app(): """Initialize app with configs.""" app = Flask(__name__.split('.')[0]) load_configs(app) initialize_logger(app) configure_scheduler_mode(app) db.init_app(app) with app.app_context(): register_routes(app) # See https://stackoverflow.com/questions/9449101/how-to-stop-flask-from-initialising-twice-in-debug-mode if not app.debug or os.environ.get('WERKZEUG_RUN_MAIN') == 'true': initialize_job_schedules(app) initialize_job_queue(app) run_startup_jobs(app) return app
def scheduler(app): """Re-initialize job scheduler from configs on teardown so that changes don't persist.""" yield from nessie.jobs.scheduling import initialize_job_schedules initialize_job_schedules(app, force=True)