3

我对谷歌云任务 API 有疑问。我需要创建具有远计划时间的任务。最长计划时间为 30 天。是否有可能增加该限制或绕过某些问题?

4

4 回答 4

3

如果我们查看云任务的配额,我们会看到任务的默认最大调度时间为 30 天,如您所说。在此页面的底部,我们看到可以请求增加配额以及如何请求的链接。你没有说你希望它增加到什么,但可能是你可以要求增加以满足你的需要。询问/尝试不会有任何害处。

后来:可悲的是,上述方法不起作用。根据评论,任务的最大计划时间似乎不是可增加的配额。它似乎固定在 30 天。

另一个想法是查看 Cloud Scheduler 是否更适合您的功能/需求。在此处找到了确定何时使用其中一个与另一个的参考。

于 2019-10-23T21:16:12.163 回答
3

很遗憾,您无法增加最长预定时间的配额。您可以通过将请求发送到决定安排新任务(延长预定日期)或执行任务的端点来解决此问题。

将任务安排得太远的风险是任务必须在 31 天内完成。因此,如果您将任务安排为 30 天,那么它只有 1 天的时间来完成任何重试。

于 2019-10-24T15:32:47.547 回答
1

您无法创建计划时间超过 30 天的云任务。但是,如果您觉得您真的想为您的用例使用云任务,您可以使用一个聪明的解决方法。您可以考虑创建 2 个单独的队列。

案例 1:预定时间在 30 天内 - 在这种情况下,通常在您的主队列中创建一个任务,您就可以开始了。

案例 2:预定时间在 30 天之后 - 例如 45 天。在这种情况下,您可以创建一个将在 30 天后运行的任务(在单独的辅助队列中),并调用一个端点,该端点将在主队列中创建另一个将在 15 天后运行的任务。这样 - 您可以递归地继续创建任务并最终在您想要的时间执行您的任务。我在过去的一个项目中尝试过这种方法,它对我来说效果很好。

于 2020-11-01T16:00:15.987 回答
0

正如您在 Cloud Tasks 的配额和限制官方文档中看到的那样,这 30 天的限制您对此无能为力。

对于您的用例, Cloud Scheduler会更合适。如果您需要将动态数据传递给您的任务,您始终可以将该数据存储在某处,触发一些 Cloud Functions以获取该数据并以编程方式将其插入到您想要的任何位置。有很多选择,但不会那么容易。简单地说,增加 Cloud Tasks 产品的配额是不可能的。

于 2019-10-24T08:55:31.013 回答