我在centos机器上有一个带有gunicorn和烧瓶的python应用程序。我通过以下方式从另一台计算机访问该应用程序:
http://host:port/nameOfFunction?path=https://site/directory1/directory2/directory3/file.pdf
路径是正确的,因为它有效。当我多次进入相同的路径时,有时它会起作用,而其他人则不会。
我正在使用gunicorn(使用以下命令):
gunicorn -b 0.0.0.0:8080 start:app
开始我的申请。当答案返回时,显示gunicorn的屏幕会打印一些代码,我会看到一些信息。 当它返回错误500时,开始的代码根本不打印。
我不知道这是什么原因。
代码的开头是:
@app.route("/call", methods=['POST', 'GET'])
def call():
print '\n============================BEGINS======================\n'
path =request.args.get('path')
newPath = path.rsplit('/',1)[1]
directoriesRoot(root)
directoriesRoot(pdfs)
parameters = ["curl", path.replace(' ','%20'), '--output',pdfs+newPath]
p = subprocess.Popen(parameters, stdout=subprocess.PIPE)
output, err = p.communicate()
if err:
return 'ERROR'
person= functionSecundaryWithNoImportance([newPath])
return jsonify(person)
有人有一些线索或已经通过了类似的问题?
答案 0 :(得分:0)
在user3788685的帮助下,我发现我的python应用程序在端口8080上(可能是apache的默认端口之一是8080),所以它有冲突。有时它指向python,其他指向apache。所以我将我的python应用程序的端口更改为1234:
$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /apps/svr/apache-maven-3.3.9
Java version: 1.8.0_162, vendor: Oracle Corporation
Java home: /apps/svr/jdk1.8.0_162/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-642.6.2.el6.x86_64", arch: "amd64", family: "unix"
现在可以作为魅力了!