我们有一个事件资源,它有一个 ZoneDateTime 表示其开始时间戳以及唯一标识符(主键)。用户可以签入事件。目标是安排在事件开始时间戳前一小时执行的任务,以便通过我们的推送通知服务通知签入此事件的用户。
解决方案需要可扩展,并且能够让任务引用相应的 eventId,以便我们可以确定签入的用户。该任务还需要以编程方式进行计划,因为每个事件都有不同的开始时间。
我正在寻找一个好的资源或工具来使用。除非我遗漏了什么,否则 Spring Boot 的本机调度程序似乎无法执行此任务。我也研究过 Quartz,但我不确定如何处理将特定事件 id 与计划任务一起存储的要求。
由于这是我第一次安排这样的事情,我将不胜感激您能给我的任何资源或想法。
您需要一种更抽象的方法来解决您的问题。
您不需要安排每个活动,您只需要安排下一个活动。如果调度程序触发并执行,您必须做更多的工作:
使用这种方法,您不会遇到扩展问题,因为您只安排了 1 个活动。
注意:这是一种非常简单的方法。您可以根据您的具体问题进行调整: