本页面概括介绍了推送队列。推送队列通过将 HTTP 请求分派给 App Engine 工作器服务来运行任务。系统以固定的速率传送请求。如果某任务失败,则服务将发送另一个请求来重试该任务。您必须为所使用的每种任务提供一个处理程序。单个服务可以有多个处理程序来处理不同种类的任务,您也可以使用不同的服务来管理不同的任务类型。
任务截止期限
当工作器服务收到推送任务请求时,它必须在截止期限之前处理请求并发送 HTTP 响应,截止期限取决于工作器服务的扩缩类型。
自动扩缩服务必须在 10 分钟之内完成。手动和基本扩缩服务最长可以运行 24 小时。
200-299 之间的 HTTP 响应代码表示成功;所有其他值表示任务失败。如果任务未能在截止期限内响应,或者返回无效的响应值,则系统将重试该任务。
重试失败的任务
如果推送任务请求处理程序返回 200-299 范围之外的 HTTP 状态代码,或者在任务截止期限之前未能返回任何响应,则队列将重试该任务,直到成功为止。为了避免太多请求涌入应用,系统会逐渐退避,但仍会为失败的任务安排重试尝试,每小时最少进行一次重试。
使用推送队列
使用推送队列时,您至少需要执行以下操作:
您也可以视需要执行以下操作:
- 创建并自定义多个队列,以便高效地执行多个任务。
- 在 Google Cloud Console 中监控和管理推送队列。
使用推送队列时,您的应用需要遵守其他配额限制。