有没有一种方法可以定义在指定为 updated/created 对象中的字段的日期时间可靠运行的触发器?

Is there a way to define a trigger that runs reliably at a datetime specified as a field in the updated/created object?

问题

当对象的字段 x(包含时间戳)为 created/updated 时,是否有可能(如果可以,如何)在指定的时间调用特定的触发器在 x(可能调用无服务器函数)?

我的具体情况

在我的具体实例中,对象可以看作是一个任务。我想这样做,以便在创建任务时无服务器函数尝试完成任务,如果它没有成功,它会用部分结果更新记录并在字段 x 中指定下一次尝试应该发生的时间.

尝试不应以固定间隔进行。例如,一项任务可能需要大约每 30 秒连续尝试 10 次,但随后可能需要等待 8 小时。

目前无法在特定时间跨度后(重新)触发节点上的云功能。

最接近的方法是定期将 cron 作业安排到任务列表中的 运行。有关更多信息,请参阅 this sample in the function-samples repo, this blog post by Abe, and this video where Jen explains them.

我承认我从来不喜欢使用这种 cron-job 方法,因为您必须查询列表才能找到要处理的项目。前段时间,我写了一个更高效的解决方案,运行s一个节点进程中的优先级队列。我的代码有点乱,所以我还没有准备好分享它,但它不是很多(<100 行)。因此,如果 cron-trigger 方法对您不起作用,我建议您研究该方向。