扫码关注官方订阅号
目前做的有点懵。
在php代码里把所有需要请求接口的数组都放进redis 存储里面,然后用循环把数组brpop出来,但是这个过程不都是靠php代码来执行的吗?
php超时之后整个进程还不是得断掉?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
楼上正解。这么打比方吧。 Redis是一个数据池,A和B都可以连接它,其中A就是你的当前任务,它只负责写入到Redis,而B是另一个任务(比如查尔斯说的命令行的方式启动一个死循环脚本)它只负责查询/删除Redis中的邮件数据。
死循环脚本伪码:
set_timelimit(0);//让这个PHP程序可以无限时的执行 while(true) { $row = $redisInstance->shiftGroup('Email');//所有要发送的邮件是一个数组的话,取出第一个 if (empty($row)) { sleep(1);//休息1秒 continue; } SendMail($row); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
楼上正解。这么打比方吧。 Redis是一个数据池,A和B都可以连接它,其中A就是你的当前任务,它只负责写入到Redis,而B是另一个任务(比如查尔斯说的命令行的方式启动一个死循环脚本)它只负责查询/删除Redis中的邮件数据。
死循环脚本伪码: