我正在一起使用Google Cloud Tasks和Cloud Functions来并行执行很多任务。
maxAttempts
= 10。在大多数情况下,它似乎运行良好,但是我看到几次意外的行为发生:有时,Cloud Tasks认为该函数失败并重试,即使该函数尚未完成运行,并最终成功。发生这种情况时,我会在队列的日志中看到此消息(该队列是使用--log-sampling-ratio=1.0
创建的):
因此Cloud Function最终成功执行了2次。
我知道Cloud Tasks不能始终保证严格的一次执行,如文档中所述。但是,我仍然想确认是否会发生这种特殊情况,以及是否有任何方法可以防止这种情况发生。
答案 0 :(得分:0)
在你的任务中定义:
tasksClient.createTask({ parent: queuePath, task, resource: { retryConfig: { maxAttempts: 1 } } })
我在这里找到它:doc