首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌云任务一旦执行就会自行删除吗?

谷歌云任务一旦执行就会自行删除吗?
EN

Stack Overflow用户
提问于 2021-08-13 00:26:27
回答 1查看 223关注 0票数 0

在我的应用程序中,我实现了Google任务,这样我的用户就可以收到关于他们的ToDo项目何时到期的通知。

我的主要问题是,当我的云任务触发时,我注意到它仍然位于我的Cloud控制台中。那么,一旦他们被解雇了,他们会不会删除自己呢?对于我的应用程序,我希望云任务完成后可以删除它们自己。

我在文档中注意到,这行you can also fine-tune the configuration for the task, like scheduling a time in the future when it should be executed or limiting the number of times you want the task to be retried if it fails.的问题是,我的任务没有失败,但是我看到retries的数量是4。

firebase cloud functions

代码语言:javascript
复制
exports.firestoreTtlCallback = functions.https.onRequest(async (req, res) => {
    try {
        const payload = req.body;
        let entry = await (await admin.firestore().doc(payload.docPath).get()).data();
        let tokens = await (await admin.firestore().doc(`/users/${payload.uid}`).get()).get('tokens')
        await admin.messaging().sendMulticast({
            tokens,
            notification: {
                title: "App",
                body: entry['text']
            }
        }).then((response) => {
            log('Successfully sent message:')
            log(response)
        }).catch((error) => {
            log('Error in sending Message')
            log(error)
        })
        const taskClient = new CloudTasksClient();
        let { expirationTask } = admin.firestore().doc(payload.docPath).get()
        await taskClient.deleteTask({ name: expirationTask })
        await admin.firestore().doc(payload.docPath).update({ expirationTask: admin.firestore.FieldValue.delete() })
        res.status(200)
    } catch (err) {
        log(err)
        res.status(500).send(err)
    }
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-13 18:34:14

如果任务已排定或分派,则可以删除该任务。如果任务已根据此文档成功或永久失败,则无法删除该任务。

  • 如果应用程序的请求处理程序在200-299范围内返回HTTP响应代码,则任务尝试已经成功。
  • 如果应用程序的处理程序返回非2xx响应代码或云任务在截止日期前没有收到响应,则任务尝试失败,即:
  1. 对于HTTP任务,10分钟。最后期限必须在15秒30分钟内。
  2. 对于App任务,0表示请求具有默认的截止日期。默认的截止日期取决于服务的标度类型:自动缩放的标准应用程序10分钟,手动和基本缩放的标准应用程序24小时,flex应用程序60分钟。
  • 失败的任务将根据重试配置重试。请检查您的queue.yaml文件的重试配置集,如果您想按照您的选择指定和设置它们,请按照

任务将作为HTTP请求推送给工作人员。如果工作人员或重定向工作人员通过返回成功的HTTP响应代码(200-299)来确认任务,则如果返回任何其他HTTP响应代码或没有收到响应,则任务将按照此文档.从队列中删除,该任务将根据以下步骤重新尝试:

  • 用户指定的节流:重试配置、利率限值队列状态
  • 系统节流:为了防止工作人员超载,云任务可能暂时降低队列的有效速率。用户指定的设置不会被更改。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68765522

复制
相关文章

相似问题

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