我正在尝试部署python应用程序,并且收到以下错误消息:
错误:(gcloud.app.deploy)错误响应:[4]您的部署具有 未能在指定的时间内变得健康,因此被推迟 背部。如果您认为这是一个错误,请尝试调整 “就绪检查”部分中的“ app_start_timeout_sec”设置。
我的app.yaml是:
runtime: python
runtime_config:
python_version: 3
env: flex
service: newservice
handlers:
- url: /
script: hello.py
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
我相信问题与yaml文件有关,因为我之前部署的示例应用程序没有问题(在yaml上使用入口点),所以当我添加新的python脚本并在yaml文件上引用它时(使用处理程序来运行我的消息块),我开始收到此错误。
编辑: 在GAEFan的回答之后,我问好了,其中包括用于readiness_check的处理程序,如下所示:
def post():
self.response.headers['Content-Type'] = 'application/json'
obj = {
'status': 200,
}
self.response.out.write(json.dumps(obj))
webapp2.WSGIApplication([
('/readiness_check', post())
], debug=True)
答案 0 :(得分:3)
Readiness checks
是默认启用的。因此,您应该为它们设置网址处理程序。在这种情况下,GAE正在向/readiness_check
发送请求,但是您的app.yaml
没有该网址的处理程序。试试这个:
handlers:
- url: /.*
script: hello.py
并确保该网址返回200
或类似的响应。要自定义准备检查,请执行以下操作:
readiness_check:
path: "/readiness_check"
check_interval_sec: 5
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
app_start_timeout_sec: 300
或者:
liveness_check:
path: "/liveness_check"
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
答案 1 :(得分:0)
您在灵活的环境应用程序中运行,<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
配置是一种标准环境。您需要为灵活的环境使用handlers
配置。来自Application startup:
运行时使用以下命令中定义的
entrypoint
启动应用程序app.yaml
。入口点应启动一个响应的过程 在环境变量定义的端口上发送HTTP请求entrypoint
。
没有它,您的应用程序将无法真正运行,并且无法满足运行状况检查请求。