gpt4 book ai didi

java - GAE 为任务队列数据存储调用获取大量 CancellationException

转载 作者:行者123 更新时间:2023-11-30 01:47:52 24 4
gpt4 key购买 nike

我有一个运行 TaskQueue 作业的 Java GAE 实例。在过去 48 小时内,我收到了大量 CancellationException 错误(24 小时内大约有 36 个错误)。

该错误始终发生在对特定表的 DataStore 查询上。该查询针对索引列projectId,并且该查询是复合OR(即projectId = -1 或projectId = 23)。整个表有 96 条记录,任何一个查询最多会拉回 20 条记录。

有谁知道我为什么会遇到这些问题

谢谢保罗

更新:抱歉我的错误,这不是任务队列调用的一部分,它是设置任务队列调用的代码。通话时间平均约为 59.5 秒(感谢 Alex 指出)。查看跟踪(感谢 Alex),延迟似乎是在数据存储调用中。它可以快至 21 毫秒或超过 59000 毫秒,这太长了。我刚刚再次检查了日志,过去 24 小时内没有出现任何异常,因此这可能是 48 小时的故障。

最佳答案

Understanding "CancellationException: Task was cancelled" error while doing a Google Datastore query

基于这个问题,听起来 CancellationException 意味着您遇到了任务队列作业必须完成执行的 10 分钟超时。

您的日志是否显示这些请求在抛出异常之前运行了多长时间(例如 stackdriver 显示此延迟任务运行了 902 毫秒)?

enter image description here

查询包含 96 条记录的表应该没问题,但如果无法看到任务代码,则很难确定。

您可以将任务拆分为更小的“子任务”,并让子任务在返回之前启动下一个子任务。

编辑:你也可以尝试去这里https://console.cloud.google.com/traces/traces查看您的请求花费时间的详细信息

enter image description here

关于java - GAE 为任务队列数据存储调用获取大量 CancellationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com