10万数据的定时任务

公司项目有个需求,给用户发送信用卡还款的提醒,具体就是,一个定时任务每天查询信用卡表,对设置了信用卡提醒的用户发送微信模版消息,但是考虑到这张表的数据以后会很多(目前是10万条数据),一次性查询然后发送模版消息服务器可能承受不了,想问问大家有什么解决的方案

阅读 6.9k
5 个回答

既然一次性查询的数据量太大,那么可以对表进行分页,多次查询并发送模板消息。

查询可以分页查询,多查几次,没有必要一次性查.
第一次查询,记录下第100条记录的id

select * from A limit 0,100;

第二次查询,根据id过滤

select * from A where id>100 limit 0,100

开多线程发
前几天看到微信群里一个人说,单节点,4核主机,64线程,100w,7分钟可以发送结束

定时任务轮询或许可以改为延时队列实现,把需要定时的任务放进去,另一些线程负责处理到了时间的任务。

没要求一次性一次处理完毕

可以每分钟(durtion)间隔做定时任务

每次处理设置的条数(楼上有人说100)

处理完再次处理,间隔到了又会继续跑定时任务了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题