我在Heroku上托管了非常基本的Flask应用程序,其代码如下:
from flask import Flask, session
from flask_cors import CORS
from flask_restful import Api
from flask import Blueprint
from config import Config
import logging
import json
with open('logging.json', 'rt') as f:
config = json.load(f)
logging.config.dictConfig(config)
app = Flask(__name__)
app.config.from_object(Config)
CORS(app)
log = logging.getLogger(__name__)
api_bp = Blueprint('api', __name__)
api = Api(api_bp)
app.register_blueprint(api_bp)
log.info('Main config loaded...')
启动时执行两次。在控制台中,我可以看到:
2018-10-04T14:24:53.553227+00:00 app[web.1]: 2018-10-04 14:24:53,553 - app - INFO - Main config loaded...
2018-10-04T14:24:53.571272+00:00 app[web.1]: 2018-10-04 14:24:53,571 - app - INFO - Main config loaded...
在我的配置文件中设置:
DEBUG = False
TESTING = False
USE_RELOADER = False
我的Procfile
包含:
web: gunicorn app:app
当我使用gunicorn app:app
命令在计算机上启动此应用程序时,它仅初始化一次。
如何在Heroku上禁用Flask应用程序的两次初始化?