首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云任务+云函数-重复执行

云任务+云函数-重复执行
EN

Stack Overflow用户
提问于 2020-01-25 17:04:31
回答 1查看 1.1K关注 0票数 2

我正在使用Google任务和云函数一起并行执行许多任务。

  • 云函数是使用HTTP触发器部署的。
  • 我在一个队列中创建多个HTTP目标任务,以便为几个不同的输入调用相同的云函数。
  • 云函数完成的任务包括调用偶尔会失败并需要重新尝试的HTTP。因此,任务队列具有maxAttempts = 10。
  • 这个过程每天运行一次,它在30分钟左右的时间内产生大约11000个任务。

在大多数情况下,它似乎运行得很好,但是我看到了一种意想不到的行为发生了几次:有时,Cloud任务认为函数失败并重新尝试它,尽管该函数尚未完成运行,并最终成功了。当发生这种情况时,我在队列的日志中看到这一点(队列是用--log-sampling-ratio=1.0创建的):

  • 云任务创建一个任务。
  • 尝试派遣1次。
  • 云函数执行1启动。
  • 云函数执行1崩溃。队列的日志显示,尝试1失败,出现“不可用”状态,并按预期尝试调度2。
  • 云函数执行2开始。
  • 即使执行2尚未完成,队列的日志显示调度尝试2以“不可用”状态失败,然后尝试调度3。
  • 云功能执行3启动。
  • 云功能执行3以状态200结束。
  • 云功能执行2以状态200结束。

因此,云函数最终成功地执行了2次。

我知道,如文档所述,云任务不能保证只执行一次严格的任务。不过,我还是想确认一下,是否预期会发生这种情况,以及是否有任何办法防止这种情况发生。

EN

回答 1

Stack Overflow用户

发布于 2021-08-11 15:39:57

在您的任务中定义:

代码语言:javascript
复制
tasksClient.createTask({ parent: queuePath, task, resource: { retryConfig: { maxAttempts: 1 } } })

我在这里找到的:文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59911486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档