【问题标题】:App initializes twice. Is this typical behavior? [duplicate]应用程序初始化两次。这是典型的行为吗? [复制]
【发布时间】:2018-03-28 00:22:16
【问题描述】:

我目前正在测试一个套接字 io 应用程序,我注意到异常行为。 在我的 init python 脚本中,我声明了一个函数,它实例化一个烧瓶对象并通过一个 socketIO 实例(它是全局的)来初始化它,即(假设所有这些文件都在同一个目录范围内):

#/test_app/configs/__init__.py

__socketIO__ = SocketIO()
def create_app(address, port):
    app = Flask(__name__, static_url_path='')
    app.config.from_pyfile('config.py')
    __socketIO__.init_app(app)

    return app

在另一个 python 脚本中:

#/test_app/run_app.py

from configs import create_app
from configs import __socketIO__ as launch_socket

ip_address = '0, 0, 0, 0'
port = 5000

APP = create_app(ip_address, port)

if __name__ == '__main__':
    print 'launching....'
    launch_socket.run(APP, debug=True, host=ip_addres, port=port)

鉴于此,如果我运行 run_app.py,'launching...' 将打印两次。 这种行为是典型的吗?当然,我仍在学习有关 socket.io 的方法,所以也许我错过了一些要点。它初始化两次似乎很奇怪。如果这种行为不必要或有害,有没有办法规避这种行为?

谢谢!

【问题讨论】:

    标签: python flask socket.io


    【解决方案1】:

    在调试模式下运行时这是正常现象。 Flask 启动两个进程,一个用于查看代码的更改,另一个用于实际的 Flask 进程。

    【讨论】:

    • 啊。太明显了!谢谢!
    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 2015-03-06
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多