首页 > 解决方案 > 在 Google App Engine 上托管的每 14 分钟出现一次不和谐机器人错误 (500)

问题描述

我有一个托管在 Google App Engine 上的不和谐机器人。它会工作并运行,然后大约每隔 14 分钟,机器人就会离线,我会看到以下错误: 在此处输入图像描述

进一步查看错误日志后,输出如下:

logMessage:“此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,此请求可能比您的应用程序的典型请求花费更长的时间并使用更多的 CPU。” 严重性:“信息”时间:“2021-10-03T16:29:18.831860Z”}

1:{ logMessage:“预热请求失败。请检查您的预热处理程序实现并确保它正常工作。” 严重性:“信息”时间:“2021-10-03T16:29:18.831862Z”}

2:{ logMessage:“进程终止,因为它未能以 HTTP 状态代码 200-299 或 404 响应启动请求。” 严重性:“错误”时间:“2021-10-03T16:29:18.831863Z”

我的 app.yaml 文件如下:

runtime: python38

instance_class: B1

manual_scaling:
  instances: 1

entrypoint: python3 bot.py

我对 GCP 和托管网络服务很陌生,所以我很迷茫。非常感谢这里的任何帮助。

标签: google-app-enginediscordgoogle-app-engine-python

解决方案


您需要为/_ah/start. (还不如也提供/_ah/stop/_ah/warmup。这些是 GAE 将启动和停止您的应用程序的调用。他们应该返回一个 http 响应200。这是一个示例,在 Flask 中:

@app.route('/_ah/start')
@app.route('/_ah/stop')
@app.route('/_ah/warmup')
def warmup():
    # Handle your warmup logic here, e.g. set up a database connection pool
    return '', 200, {}

编辑: 有效响应是200–<code>299 或404


推荐阅读