gpt4 book ai didi

python - Tornado 多进程: create multiple MySQL connections

转载 作者:行者123 更新时间:2023-11-29 11:18:03 24 4
gpt4 key购买 nike

我正在使用此处描述的第一种方法跨多个进程运行 Tornado HTTPS 服务器 http://www.tornadoweb.org/en/stable/guide/running.html (服务器.start(n))

服务器已连接到本地 MySQL 实例,我希望每个 Tornado 进程都有一个独立的 MySQL 连接。

但是,根据 SHOW PROCESSLIST 的输出,现在我只有一个 MySQL 连接。我想发生这种情况是因为我在调用 server.start(n) 和 IOLoop.current().start() 之前建立了连接,对吗?

我不太明白的是,调用 server.start(n) 之后创建的进程是否共享一些数据(例如,同一模块内的全局变量)或者完全独立。

我应该在调用 server.start(n) 之后建立连接吗?或者在调用 IOLoop.current().start() 之后?如果这样做,每个 Tornado 进程都会有一个 MySQL 连接吗?

谢谢

最佳答案

调用 start(n) 时,每个子进程都会获取父进程中存在的变量的副本。对于连接之类的事情,这通常会导致问题。使用多进程模式时,在启动子进程之前尽可能少地执行操作非常重要,因此在 start(n) 之后(但在 IOLoop. start(); IOLoop.start() 在服务器停止之前不会返回)。

关于python - Tornado 多进程: create multiple MySQL connections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39426030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com