我真的很想弄清楚如何在烧瓶应用程序中运行APScheduler。
应用程序结构:
v2.0.0-69-g765ac8d 2.0.1
app.py:
/app
├── project/
│ ├── __init__.py
│ ├── main.py
├── app.py
初始化 .py:
from project import app
app.run(host='0.0.0.0', port=80, debug=True)
main.py:
from flask import Flask
app = Flask(__name__)
# set up blueprints
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
# set up apscheduler
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler(daemon=True)
scheduler.start()
运行此命令时出现错误:
from flask import Blueprint, render_template, Flask
from . import scheduler
import time
main = Blueprint('main', __name__)
@main.route('/schedule_test')
def schedule_test():
scheduler.add_job(func=print_date_time, trigger="interval", seconds=3)
def print_date_time():
print(time.strftime("%A, %d. %B %Y %I:%M:%S %p"))
我确定我在做一些简单的错误,但是我无法解决。
编辑:为清楚起见,当我删除对调度程序的引用时,flask应用程序运行正常。
答案 0 :(得分:0)
您应将以下代码从__init__.py
移至单独的Python文件。
# set up apscheduler
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler(daemon=True)
scheduler.start()
然后从该文件导入scheduler
并将其用于烧瓶路径。
检查一下:
In Python, how to import from the __init__.py in the same directory