当4个进程产生时,Tornado服务器不会使用环境变量

时间:2016-12-24 00:08:19

标签: python tornado

我有一个使用Tornado框架的Python Web应用程序。 它还使用jaydebeapi包通过JDBC连接到数据库。 当我从具有设置JAVA_HOME的环境变量的虚拟环境中尝试此连接时,此连接正常工作。

我还在开始时在Python代码中声明了环境变量:

os.environ['JAVA_HOME'] = '/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'

我产生了4个像这样的服务器进程(我有4个核心):

server = HTTPServer(app)
server.bind(port)
server.start(0)  # forks one process per CPU
IOLoop.current().start()

但是当我这样做时 - 数据库连接永远不会完成,它只是挂起。 如果我将server.start更改为(1),则只启动一个进程 - 并且数据库连接正常工作。

有没有办法将环境变量传递给Tornado启动的其他进程?这实际上是问题吗?

0 个答案:

没有答案