我对谷歌云任务 API 有疑问。我需要创建具有远计划时间的任务。最长计划时间为 30 天。是否有可能增加该限制或绕过某些问题?
4 回答
很遗憾,您无法增加最长预定时间的配额。您可以通过将请求发送到决定安排新任务(延长预定日期)或执行任务的端点来解决此问题。
将任务安排得太远的风险是任务必须在 31 天内完成。因此,如果您将任务安排为 30 天,那么它只有 1 天的时间来完成任何重试。
您无法创建计划时间超过 30 天的云任务。但是,如果您觉得您真的想为您的用例使用云任务,您可以使用一个聪明的解决方法。您可以考虑创建 2 个单独的队列。
案例 1:预定时间在 30 天内 - 在这种情况下,通常在您的主队列中创建一个任务,您就可以开始了。
案例 2:预定时间在 30 天之后 - 例如 45 天。在这种情况下,您可以创建一个将在 30 天后运行的任务(在单独的辅助队列中),并调用一个端点,该端点将在主队列中创建另一个将在 15 天后运行的任务。这样 - 您可以递归地继续创建任务并最终在您想要的时间执行您的任务。我在过去的一个项目中尝试过这种方法,它对我来说效果很好。
正如您在 Cloud Tasks 的配额和限制官方文档中看到的那样,这 30 天的限制您对此无能为力。
对于您的用例, Cloud Scheduler会更合适。如果您需要将动态数据传递给您的任务,您始终可以将该数据存储在某处,触发一些 Cloud Functions以获取该数据并以编程方式将其插入到您想要的任何位置。有很多选择,但不会那么容易。简单地说,增加 Cloud Tasks 产品的配额是不可能的。