在 heroku 上初始化 Flask-SocketIO python 应用程序
Initialize Flask-SocketIO python app on heroku
我是 python 的新手,所以这可能是一个愚蠢的问题,但我有以下问题:
我正在尝试将 Flask-SocketIO 应用程序部署到 heroku,我的 app.py 看起来像这样:
app = Flask(__name__)
socketio = SocketIO(app)
opt: Dict[Any, Any] = {}
.
.
@socketio.on('connect')
def joined():
test = json.dumps(opt)
emit('test', test)
.
.
if __name__ == '__main__':
opt = setup_args()
socketio.run(app)
我的 procfile 如下所示:
web: gunicorn -k flask_sockets.worker app:app
如果我 运行 heroku local
我的服务器按预期启动,我可以与我的客户端建立套接字连接,但我的变量 opt
似乎没有被填充。根据我在文档中阅读的内容,这是因为 procfile 为我执行了 socketio.run(app)
,而我的 __main__
部分没有被执行。
我需要以某种方式触发一个方法来初始化我的 app.py 中的一些变量。
我怎样才能做到这一点?
谢谢
为什么不简单地将 opt = setup_args()
移出 if 语句,而是将其移动到文件顶部的某处?
我是 python 的新手,所以这可能是一个愚蠢的问题,但我有以下问题:
我正在尝试将 Flask-SocketIO 应用程序部署到 heroku,我的 app.py 看起来像这样:
app = Flask(__name__)
socketio = SocketIO(app)
opt: Dict[Any, Any] = {}
.
.
@socketio.on('connect')
def joined():
test = json.dumps(opt)
emit('test', test)
.
.
if __name__ == '__main__':
opt = setup_args()
socketio.run(app)
我的 procfile 如下所示:
web: gunicorn -k flask_sockets.worker app:app
如果我 运行 heroku local
我的服务器按预期启动,我可以与我的客户端建立套接字连接,但我的变量 opt
似乎没有被填充。根据我在文档中阅读的内容,这是因为 procfile 为我执行了 socketio.run(app)
,而我的 __main__
部分没有被执行。
我需要以某种方式触发一个方法来初始化我的 app.py 中的一些变量。
我怎样才能做到这一点?
谢谢
为什么不简单地将 opt = setup_args()
移出 if 语句,而是将其移动到文件顶部的某处?