执行以后的计划任务的最佳解决方案是什么?



这不是一个真正与代码相关的问题,而更像是一个面向解决方案的问题。

为了提供一些上下文,我有一个带有无服务器Node.js后端的web应用程序,它允许用户定义一个重复的时间段,在该时间段端点将执行并执行一些操作。例如,用户决定每9天触发一次动作。

我很清楚解决方案,如GCP云任务(这是我目前使用的)和AWS SQS,但它们也有限制。例如,GCP的云任务的最大时间表限制为720小时(30天)。这意味着我的用户只能在未来720小时内安排未来日期的任务,而我更愿意给他们灵活性来安排长达一年的任务。

目前是否有云解决方案允许我执行这样的功能?

我怀疑这绝对是可能的,因为Stripe的订阅。他们允许按年订阅,和我现在使用的类似,但有一个延长的限制。我不太确定Stripe工程师是如何在幕后完成的(同时保持可伸缩性作为一种要求,因为cronjobs相当昂贵),但在谷歌搜索解决方案无效后,这个问题让我想知道是否存在更合适的解决方案,或者我的解决方案是否很好。

我也知道有一些变通方法可以"扩展"。云任务的720小时限制,但我想在深入研究这些变通方法之前探索一下选项。(例如,每个用户的cronjob可以很好地工作,但在规模上很昂贵,一个cronjob检查所有当前要调度的任务,但在规模上,云功能可能会超时,因为我使用的是无服务器后端,等等)

你应该看看云工作流。对于每个用户请求,启动一个带有参数的执行,它们可以是&;delay&;或者调用的url ";定义那些你需要的

因此,当执行开始时,等待延迟,然后调用URL。执行可以持续长达1年,符合您的要求

最新更新