App Engine:是否可以异步排队任务?

发布于 2024-10-27 11:32:22 字数 302 浏览 1 评论 0原文

我的许多处理程序将任务添加到任务队列中以执行非关键后台处理。由于此处理并不重要,因此如果对 taskqueue.add() 的调用引发异常,我的代码将忽略它。

今晚任务队列似乎停滞了大约半个小时。尽管我的处理程序正确地忽略了失败,但他们花了大约 5 秒的时间来调用 taskqueue.add() 来超时,然后继续处理页面的其余部分。因此,这使得我的网站运行速度非常慢。

那么,是否可以异步地将任务入队——这意味着一种添加任务的方法,而无需等待查看添加是否成功?

或者,有没有办法将该超时从 5 秒减少到例如 1 秒?

谢谢。

Many of my handlers add a task to a task queue to do non-critical background processing. Since this processing isn't critical, if the call to taskqueue.add() throws an exception, my code just ignores it.

Tonight the task queue seemed to be down for around half an hour. Although my handlers correctly ignored the failure, they took about 5 seconds for the taskqueue.add() call to timeout and move on to processing the rest of the page. This therefore made my site run very slowly.

So, is it possible to enqueue a task asynchronously - meaning a way to add a task, without waiting to see if the addition succeeded?

Alternatively, is there a way to reduce that timeout from 5 seconds down to eg 1 second?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

当梦初醒 2024-11-03 11:32:22

您可以使用新的任务队列方法 create_rpcadd_async。如果您不关心添加是否成功,只需调用 add_async 并忽略结果即可。如果您关心,但只想等待 1 秒,请在调用 create_rpc 时设置截止时间,并将返回值用作 add_async 的 RPC 参数。调用 get_result 查看任务是否已成功添加。

You can use the new taskqueue methods create_rpc and add_async. If you don't care if the add succeeds, simply call add_async and ignore the result. If you care, but only want to wait 1 second, set the deadline when calling create_rpc, and use the return value as the RPC argument to add_async. Call get_result to find out if the tasks were successfully added.

触ぅ动初心 2024-11-03 11:32:22

我认为您对此无能为力,因为 add 方法下的 RPC 调用是一个同步阻塞 API 调用。

您可以尝试使用Capability API。

I think you can't do anything about it because the RPC call underneath the add method is a synchronous blocking API call.

You could try to add some check using the Capabilities API.

去了角落 2024-11-03 11:32:22

我非常确定 GAE 宣布 TQ 添加将与下一个版本(实验功能)异步。

I am pretty sure GAE announced that TQ adds will be async with the next release (experimental feature).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文