要解决"AppEngine Flex自定义的就绪性和活跃性端点未触发"的问题,您可以按照以下步骤进行操作:
确保您的代码中有一个就绪性和活跃性端点。这是一个HTTP端点,用于检查应用程序是否已准备好接收流量。例如,您可以创建一个 /health
路径的端点。
在您的应用程序的 main.py 文件中,添加以下代码来创建一个 Flask 端点:
from flask import Flask
app = Flask(__name__)
@app.route('/health')
def health_check():
return 'OK'
if __name__ == '__main__':
app.run()
app.yaml
文件中,添加以下代码来指定您的应用程序使用的服务类型为 flex
并指定您的自定义端点:runtime: python38
service: your-service-name
entrypoint: gunicorn -b :$PORT main:app
readiness_check:
path: "/health"
check_interval_sec: 5
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
app_start_timeout_sec: 300
liveness_check:
path: "/health"
check_interval_sec: 5
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
initial_delay_sec: 300
请注意,将 your-service-name
替换为您的服务名称。
这样,您的应用程序将具有一个就绪性和活跃性端点,可以通过访问 /health
路径来触发。当应用程序准备好接收流量时,就绪性检查将返回 OK
。如果此端点未触发,则可能是由于应用程序未正确配置或未启动成功。