Nav*_*eth 3 azure node.js postman azure-container-instances quart
我们已经部署了一些 API(很少使用 Node.js/Express.js 开发,其他使用 Python Quart 开发)。我们的所有 API 均使用 Azure 容器化实例进行部署。我们通过 Postman 设置了定期 API 监控。API 在大约 20% 的情况下会失败,并出现错误:套接字挂起。我们在开发区域或通过浏览器访问 API 时从未遇到过此问题。什么可能导致此套接字挂起问题以及我们如何克服它?
我们的 Node.js API Dockerfile 设置如下:
FROM node:16
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN rm -rf .env
RUN mv production.env .env
#ENV PORT=5000
EXPOSE 5000
CMD ["npm", "run", "prod"]
Run Code Online (Sandbox Code Playgroud)
Python Quart API Dockerfile 设置如下:
FROM continuumio/miniconda3
COPY . /api/
WORKDIR /api/src
RUN conda env create -f /api/environment.yml
COPY entrypoint.sh ./
RUN chmod +x ./entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
EXPOSE 5000
Run Code Online (Sandbox Code Playgroud)
入口点.sh
#!/bin/bash --login
set +euo pipefail
conda activate python_env_name
set -euo pipefail
exec hypercorn --bind 0.0.0.0:5000 QuartAPI:app
Run Code Online (Sandbox Code Playgroud)
看来 Postman 中的问题比 API 中的问题更多。假设服务器没有抛出/记录任何错误,则 Postman 可能没有正确处理响应。以下是 Postman 中可能导致此问题的一些内容:
| 归档时间: |
|
| 查看次数: |
29368 次 |
| 最近记录: |