是什么原因导致“请求在等待太长时间而无法尝试满足您的请求后被中止”?
这似乎是某种内部超时的结果,但我不知道这是在哪里配置的。
我们当前正在使用自动缩放,该错误是由于任务队列中的任务数量临时增加而导致的。自动缩放不应该创建更多实例来处理该请求吗?
此外,如果 Cloud Tasks 中的某个任务失败并显示“请求在等待太长时间而无法尝试处理您的请求后被中止”,是否会重试该任务,或者是否将其从队列中删除?
编辑:我发现了问题。
这是我们的 app.yaml 中的缩放配置:
basic_scaling:
max_instances: 2
当我代理查看 f1-micro 后端上有许多图表的 munin 节点时,我发现了这一点。如果等待时间超过,响应将失败并出现 529 错误(min|max)_pending_latency
- 可能它正在尝试创建一个新实例,因为违反了最小值,但发现它不能。
默认值似乎是 5 秒。您可以将其设置为app.yaml
最多 15 秒。
automatic_scaling:
min_pending_latency: 15s
max_pending_latency: 15s
一旦我这样做了,我就不再收到等待 6 秒的请求的错误。当然,我确信 Google 希望您增加扩展实例的数量,或者使用更快的节点。但也许您只想扩展到一两个,或者 15 秒对于您想要做的事情来说是可接受的延迟。
作为参考,我的完整app.yaml
:
runtime: php73
service: munin
instance_class: F1
automatic_scaling:
max_instances: 1
min_instances: 0
target_cpu_utilization: 0.95
target_throughput_utilization: 0.95
max_concurrent_requests: 80
max_pending_latency: 15s
handlers:
- url: .*
script: auto
secure: always
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)