让任务在特定的时间点执行某一动作
项目采用 Java开发语言, spring框架。
比如,我现在有一个订单,订单上面有时间标识,我现在需要在订单时间20分钟前,来处理这个订单,处理动作可能是销毁,可能是取消(未支付,到时间点自动取消)等。
12306上面也有类似的场景,选择一张车票,如果30分钟内未支付,自动取消订单。这个到点取消,是如何触发的呢?有啥解决方式吗?
我的应用场景是: 目前在做一个咨询类的小程序,用户在小程序下单后,会生成一个订单。订单上面有咨询时间,我需要在咨询时间前20分钟提醒用户咨询时间到了,进入小程序来进行咨询。
比如订单咨询时间是8:00,我需要在7:40来发送短信通知给用户,这个到7:40这个点,就该触发发送短信的操作,怎么进行触发呢?
之前考虑过用定时器,轮询操作,但是这个效率太低了,有没有成熟的解决方案提供呢?不胜感激,谢谢指点