我有一个使用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启动的其他进程?这实际上是问题吗?