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

2024-06-09 02:44:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在centos机器上有一个带有gunicorn和flask的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) 

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


Tags: path代码app应用程序outputreturn屏幕call
1条回答
网友
1楼 · 发布于 2024-06-09 02:44:32

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

gunicorn -b 0.0.0.0:1234 start:app

现在变成了一种魅力

相关问题 更多 >