在 Python 2 中使用推送队列
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本页面概括介绍了推送队列。推送队列通过将 HTTP 请求分派给 App Engine 工作器服务来运行任务。系统以固定的速率传送请求。如果某任务失败,则服务将发送另一个请求来重试该任务。您必须为所使用的每种任务提供一个处理程序。单个服务可以有多个处理程序来处理不同种类的任务,您也可以使用不同的服务来管理不同的任务类型。
![该应用将任务分流到任务队列服务,该服务使用 HTTP 将其发送到工作器](https://cloud.google.com/static/appengine/docs/images/push-queue.svg?authuser=7&hl=zh-cn)
任务截止期限
当工作器服务收到推送任务请求时,它必须在截止期限之前处理请求并发送 HTTP 响应,截止期限取决于工作器服务的扩缩类型。
自动扩缩服务必须在 10 分钟之内完成。手动和基本扩缩服务最长可以运行 24 小时。
200-299 之间的 HTTP 响应代码表示成功;所有其他值表示任务失败。如果任务未能在截止期限内响应,或者返回无效的响应值,则系统将重试该任务。
重试失败的任务
如果推送任务请求处理程序返回 200-299 范围之外的 HTTP 状态代码,或者在任务截止期限之前未能返回任何响应,则队列将重试该任务,直到成功为止。为了避免太多请求涌入应用,系统会逐渐退避,但仍会为失败的任务安排重试尝试,每小时最少进行一次重试。
使用推送队列
使用推送队列时,您至少需要执行以下操作:
- 以编程方式创建任务,然后将任务添加到默认推送队列,或者添加到您已创建的一个或多个已命名的推送队列。
- 编写处理程序来处理任务的请求,并将该处理程序分配给某项 App Engine 服务。
您也可以视需要执行以下操作:
使用推送队列时,您的应用需要遵守其他配额限制。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-31。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-01-31。"],[],[]]