Как остановить flask от перезагрузки кода дважды?

Вопрос был задан, но у меня другая проблема.

Я пробовал:

app.run(use_reloader=False)

As in:

from flask import Flask, render_template
from scheduler import *
from regions import regions

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html", regions=regions)

if __name__ == "__main__":
    app.run(use_debugger=False, use_reloader=False)

Но ничего не происходит. Он просто продолжает перезагружаться.

~/workspace/finalproject/weather/ $ flask run
* Serving Flask app "sync"
* Forcing debug mode off
* Running on http://ide50-artemnikitin27ed.cs50.io:8080/ (Press CTRL+C to quit)
* Restarting with stat
INFO:apscheduler.scheduler:Scheduler started
DEBUG:apscheduler.scheduler:Looking for jobs to run
DEBUG:apscheduler.scheduler:No jobs; waiting until a job is added
INFO:apscheduler.scheduler:Scheduler started
DEBUG:apscheduler.scheduler:Looking for jobs to run
DEBUG:apscheduler.scheduler:No jobs; waiting until a job is added

Я даже отключил режим отладки, но перезагрузка все равно дважды запускает код при запуске.

Мне это нужно, чтобы дважды остановить запуск Apscheduler, который отлично работает, за исключением этой проблемы.

Буду очень благодарен за любую помощь!

РЕШЕНИЕ:

Для отключения перезагрузки, если вы используете flask run, вместо этого выполните flask run --no-reload, как в ответе https://stackoverflow.com/a/25504196/8882620< /а>

Для решения проблемы без блокировки релоадера поместите настройки апсшедулера в функцию и оберните ее @app.before_first_request:

@app.before_first_request
def before_first_request():
   scheduler = BackgroundScheduler()
   scheduler.start()
   scheduler.add_job(
   func=historical,
   trigger=CronTrigger(hour=12, minute=12),
      id='save_weather',
      name='Archive avg temp for current day',
      replace_existing=True)

   # Shut down the scheduler when exiting the app
   atexit.register(lambda: scheduler.shutdown())

person Tim Nikitin    schedule 12.11.2017    source источник