首页 > 解决方案 > 如何在约会后 30 天触发操作?

问题描述

如果付款日期晚了 30 天,我需要更新字段。
是否可以在付款日期后 30 天触发操作?

该过程可能会在这些时间之间重新启动,因此它不能在内存中,也不能是相对日期。

我可以创建一个端点/api/paymentdates,这样就可以从 cron 之类的其他东西中调用它。然而,在未来的某个时候,可能会有超过一百万件物品,每件物品都有自己的日期。

有没有一种有效的方法来触发这样的任务,或者是每天早上运行任务并查询数据库的唯一选择?

标签: javaazurespring-bootcron

解决方案


您可以使用队列触发函数(存储队列或服务总线队列)。基本上,您要做的是将消息放入队列并使其不可见 30 天(在存储队列中称为初始可见性超时,在服务总线队列中称为预定消息)。

该消息只有在其不可见性到期后才会出现在队列中,届时将触发该函数。一旦函数被触发,您就可以对该消息执行任何您想要执行的处理。

您可能会发现以下链接很有用:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus


推荐阅读