java - 如何在约会后 30 天触发操作?
问题描述
如果付款日期晚了 30 天,我需要更新字段。
是否可以在付款日期后 30 天触发操作?
该过程可能会在这些时间之间重新启动,因此它不能在内存中,也不能是相对日期。
我可以创建一个端点/api/paymentdates
,这样就可以从 cron 之类的其他东西中调用它。然而,在未来的某个时候,可能会有超过一百万件物品,每件物品都有自己的日期。
有没有一种有效的方法来触发这样的任务,或者是每天早上运行任务并查询数据库的唯一选择?
解决方案
您可以使用队列触发函数(存储队列或服务总线队列)。基本上,您要做的是将消息放入队列并使其不可见 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
推荐阅读
- python - 将 Voigt 函数拟合到 Python 中的数据
- laravel - 如何在模型中使用自定义函数来格式化数据
- spring - Spring 项目在 pom.xml 中创建错误需要帮助来修复它
- reactjs - 材质界面
打字稿错误 TS2769 - xml - 如何在 XQuery 中使用条件?
- linux - Linux 中读取数据的时间在格式化磁盘和已删除数据的磁盘中是不同的
- javascript - Webview 不加载 javascript 来获取内容
- r - 在线性规划(lpSolve)中将变量设置为高于某个数字
- javascript - 如何从 NextJS 的公用文件夹中获取()?
- python - 恢复excel文件总和