会员到期提醒的这种定时任务如何实现?

pyruby 发布于 2016/01/26 09:34
阅读 4K+
收藏 2

【DevOps必读】产品经理与程序员之间如何破局?>>>

现在有个需求就是给那种付费会员发送会员到期的短信提醒!需求是在到期前一个月,到期前15天分别发送一条提醒!写个定时任务每天执行一次判断时间,这种方法大家不要再提了。数据量小可以,上了量就不适用了
加载中
0
ldl123292
ldl123292
付费会员有多大量
0
beyondforever68
beyondforever68
为什么不可以呢,数据量大到什么程度
0
Jay_so
Jay_so

我感觉我们可以分步发送呀  ,也不知道对不对,想法而已。

服务器端每天判断一下时间,然后比对数据库,最后发送短信,整个流程太多的循环,感觉会有点庞大。何不采取分页,在一天的不同时间段来对不同页数的用户进行会员到期检测,那么服务器的空闲时间可以利用起来。也许也会不卡。

无名developer
无名developer
不会有问题,用多线程处理
0
无名developer
无名developer
上量怎么就不适用?每天扫描一次,然后把要发的人插入一个临时表。然后用另外一个定时任务一直扫描这个临时表,每次拿一些出来发送,发送完清空,写入日志表。我们项目一直这么处理,几十万条一点压力没有,只是发送时间不定,队列一批批的处理。
0
无名developer
无名developer

引用来自“无名developer”的评论

上量怎么就不适用?每天扫描一次,然后把要发的人插入一个临时表。然后用另外一个定时任务一直扫描这个临时表,每次拿一些出来发送,发送完清空,写入日志表。我们项目一直这么处理,几十万条一点压力没有,只是发送时间不定,队列一批批的处理。
再说,发短信一次量也不能太多,而且不能太频繁,有限制的。
0
抢小孩糖吃
抢小孩糖吃
为什么不采用队列进行处理,分开由数据库的触发器对时间进行触发处理(也可以考虑程序),之后推送到队列中,在由队列推送到短信接口(一般都有数量限制)
0
bobdog1986
bobdog1986

不懂php和sql,假设每个人注册会员时,会同时添加到期30天和15天至某日的一个列表里。每次续会员,会在之前的两个表里移除自己,并写到后续的两个列表里。

服务器,每天查需要提醒的表单,按照表单里面的内容,发送通知?不知可不可以。

这个的问题是,之前那些会员没有如此操作,如何处理。可以一次性全倒出来,后续会员续和注册都如此处理。

0
ClownFish
ClownFish
swoole-crontab完全适用,注册一个发送短信的worker(可开多个),定时任务去获取需要发送的会员,推送到redis队列,让worker去处理就好了
pyruby
pyruby
通过swoole-crontab去定时每天扫?那还不如系统的crontab
0
inuxor
inuxor
能有多大量的会员?就算你10万付费会员,每晚扫一遍能用几秒钟?其中真正可能到期的,分摊到365天,每天也就二三百人。用个屁的多线程啊队列的,分分钟办完。
0
Tuesday
Tuesday
我晕!!!!
返回顶部
顶部