Flask RESTful - 女服务员(服务器停止响应请求)

时间:2021-01-18 20:47:42

标签: python api flask flask-restful waitress

我有一个很严重的问题,我正急于解决。 我用烧瓶写了一个基本的python API。 我和女服务员一起运行它,因为如果我做 app.run() 它说我不应该这样做,因为它只适用于开发而不是分发。

这是.py

from flask import Flask
from flask_restful import Api, Resource, reqparse, abort
from dotenv import load_dotenv
import DBLayer
import os
import socket
from datetime import datetime
from waitress import serve

load_dotenv()
db_host = os.getenv('DB_HOST')
db_user = os.getenv('DB_USER')
db_pwd = os.getenv('DB_PWD')
db_port = os.getenv('DB_PORT')
db_name = os.getenv('DB_NAME')

app = Flask(__name__)
api = Api(app)

class Version(Resource):
    def get(self):
        comando = "select * from versiondb"
        version = DBLayer.executeSQL(db_user, db_pwd, db_host, db_name, db_port, comando)

        dataAggiornamento = datetime.strptime(str(versione[0]["Validita"]), "%Y-%m-%d %H:%M:%S")
        version[0].update({"Validita": str(dataAggiornamento)})

        if len(version) == 0:
            return "", 404
        return {"data": dict(version[0])}, 200


api.add_resource(Version, "/version")

if __name__ == "__main__":
    serve(app, host=myhost, port=5000)

我在我的 Windows 服务器上执行这个 .py,它工作正常,但有时我注意到 api 不再响应 get 请求......所以我打开远程桌面来看看发生了什么... 终端被冻结了.. 我在终端上点击鼠标,在键盘上随机按下一个按钮,从冻结到现在的所有请求都在那个瞬间打印并执行,全部一次。 ..这太烦人了

有人可以帮助我吗?请。

1 个答案:

答案 0 :(得分:0)

我发现在基于 Linux 的服务器上完全相同的代码没有出错。

所以...我假设(在对互联网做了一些研究之后)这是一个与 Windows 相关的问题。