遇到个需求类似于余额宝的业务,每天按照用户的账户余额×年利率进行分红
现在的做法是每天 cron 定时处理一次将所有会员主键存入队列,然后开启一个守护进程实时监听丢给 job 处理
定时脚本里面的逻辑是从数据库取出所有会员 foreach 入队的,但是当会员数量达到百万千万越来越大的时候一次性取出的话因为内存问题不太现实,所以把定时任务从每天执行一次改成每分钟,然后每次入队一定数量的会员,但是这样没有达到理想的效果,因为每次入队一定量的数据,如果提前完成了那剩下的会员要等到下一分钟执行,而且每分钟入队最合适的数据量也需要自己估算,不能完全的实现排队执行任务
请问各位大佬通常应该用什么方式解决这个问题?
现在的做法是每天 cron 定时处理一次将所有会员主键存入队列,然后开启一个守护进程实时监听丢给 job 处理
定时脚本里面的逻辑是从数据库取出所有会员 foreach 入队的,但是当会员数量达到百万千万越来越大的时候一次性取出的话因为内存问题不太现实,所以把定时任务从每天执行一次改成每分钟,然后每次入队一定数量的会员,但是这样没有达到理想的效果,因为每次入队一定量的数据,如果提前完成了那剩下的会员要等到下一分钟执行,而且每分钟入队最合适的数据量也需要自己估算,不能完全的实现排队执行任务
请问各位大佬通常应该用什么方式解决这个问题?