Falcon API - 检查服务器是否 运行

Falcon API - check if the server is running

我在 Falcon 中构建了一个非常简单的 API,post 我的机器学习模型的结果。见下文:


import falcon
import heureka_predikce


class MLmodel:
    def on_post(self, req, resp):

        reg_list = req.media
        response_list = []

        for vstup in reg_list:
            response_list.append(heureka_predikce.heureka_predikuj(vstup))

        resp.text = response_list
        resp.status = falcon.HTTP_OK


my_model = MLmodel()

app = application = falcon.API()
app.add_route("/predictionApi/v1/predict", my_model)

但我想检查服务器是否 运行。也就是说,我想在 MLmodel 中包含一些执行“健康检查”的新方法。我是 APIs 的初学者,但是有推荐的方法吗?如何操作?我觉得应该比较容易,但是我自己找不到任何东西...谢谢

要检查服务器是否启动并且 运行,通常我们所做的是在端点发送请求,服务器将 return 表明它正在工作的东西。

正如您所说,出于同样的原因,您需要在 MLmodel 中添加一个方法,可以这样做,但不推荐这样做,因为您的 MLmodel 正在处理 predict端点。

要进行健康检查,您可以使用新 class 创建一个新端点,它将接受 get 请求并在调用时立即响应您。

例如:

class Ping:
    def on_get(self, req, resp):
        resp.text = "pong"
        resp.status = falcon.HTTP_OK

然后只需使用以下方法为同一资源添加路由: app.add_route("/predictionApi/v1/ping", Ping())

现在对于每个 ping 请求,您都会收到 pong 响应。