目前小弟正在开发一款微信小程序,课程表应用,希望在其中添加备忘提醒部分,但是比较费解的是,用户在设置相关事项后,后端需要怎么执行这些定时任务,或者有在可以服务器中可以使用的方法吗,求大佬解决
可以啊,spring有自带的定时器。java都多少年了,放心用。
可以处理多用户的处理吗,有相关的教程吗,在学校没有学过 ::
啥叫处理多用户的处理,每个用户一个定时器?
就是可能会有多用户设置相关的提醒,也可能有不同的任务,考试和作业的提醒就不一样,是需要一个任务都需要设置一个定时器吗
最简单的就是开一个定时器,然后逻辑就写扫描你备忘录那个表,然后根据查询出来的数据要提示的进行推送就是了,至于不同任务根据你表结构或者看你想怎么实现,量大小等,一个定时器可以多个分开处理也可以
大佬 有没有相关的关键词,我去看看 就是java定时器就可以了吗
关键词就是: spring boot 定时器 或者 spring 定时器 吧
可以实现,百度搜一下就会有很多,用spring自己带的定时器配上icon(cron)表达式,好想是现在启动类加上注解@EnableScheduling生效,然后加个定时任务类,然后写方法去查你需要的数据,进行推送,可以搜搜这个注解@EnableScheduling
好多框架,xxl job用的多点,不行timer定时也可以
在这问,不如去谷歌和百度!
spring scheduling 轻量级的,+ ScheduledFuture 从数据读取cron表达式实现定时任务
谢谢老哥
简单点的使用注解 @Scheduled(cron = “0 0/5 * * * ?”)
复杂的就生成cron表达式保存到数据库,然后项目启动时读取cron表达式生成定时器,定时执行任务,这种比较灵活,可以随时修改定时时间,
或者使用Quartz框架
简单定时任务直接用springboot的Scheduled完事啦
可以试试每个用户的备忘提醒存储在数据库(这个表尽量简洁,详细数据库可以存储在关联表),第一次spring boot启动时可以初始化一次数据库备忘数据到Redis list中(可以配合score用用户备忘提醒的时间戳进行排序),然后定时任务扫描Redis而不是数据库,Redis list的重新同步可以在备忘数据的update事务提交后成功后进行。大概思路就是这样子,可以根据实际情况做修改
可以, quartz 库
去了解一下 org.springframework.scheduling.TaskScheduler
TimerTask
ScheduledThreadPoolExecutor
SpringScheduling
Quartz
任君挑选