Ajax 对 Linux 服务器的请求有时会返回答案,有时会返回错误 500



我有一个python应用程序,在centos机器上带有枪角兽和烧瓶。我通过以下方式从另一台计算机访问该应用程序:

http://host:port/nameOfFunction?path=https://site/directory1/directory2/directory3/file.pdf

路径是正确的,因为它有效。当我多次输入同一条路径时,有时它有效,有时则无效。

我正在使用枪角兽(使用以下命令(:

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) 

有人有一些线索或已经通过了类似的问题?

在user3788685的帮助下,我发现我的python应用程序在端口8080上(可能是apache的默认端口之一是8080(,所以它冲突。有时它指向python,有时指向apache。所以我将我的 python 应用程序的端口更改为 1234:

gunicorn -b 0.0.0.0:1234 start:app

现在作为一个魅力!

最新更新