请教一下大牛以下场景怎么使用redis

qq864722370 2019-05-21 04:52:59
比如下午15点我需要给10个用户发送信息,不能漏发,且每天都需要发送,每天发送的用户都有可能不一样
...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二尸兄 2019-07-20
  • 打赏
  • 举报
回复
crontab -e >输入 0 4 * * * php /data/www/cmd.php //每天下午15点

方案一
cmd.php 文件里面要做如下几件事情
1.获取当天要发送的用户
2.发送消息接口请求完之后 拿到发送成功与失败的状态
3.记录状态结果


方案二
如果要发送的用户足够多,
cmd.php
1.获取用户信息后存到redis list 或者 (zset 可以保证你要发送的用户不会重复)

2.在加个php文件用作消费redis 数据 比如每次取10个 (注意zset取完手动删除)
或者用pcntl_fork 多进程方式每个进程处理10个数据就结束

3.记录下发消息状态 失败的重新加入redis


  • 打赏
  • 举报
回复
楼主明显问的是redis的数据更新问题,因他每天发的都不一样,而不是问的怎么定时的问题吧?
scenewood 2019-07-19
  • 打赏
  • 举报
回复
crontab

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧