首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
[BUG提交]swoole_timer_after与Redis->blpop 冲突
伪代码: {{{ $redis = new Redis(); while(true){ $data = $redis->blpop("aaaaaa"); if($data){ echo "准备异步通知\n"; var_dump(swoole_timer_after( 3000, function ($tmpData) { echo "进入异步\n"; }, [] )); } } }}} 以上代码只能输出"准备异步通知",不能输出"进入异步"
发布于7年前 · 0 次浏览 · 来自
提问
天
天凉好个秋,落叶的幸福
伪代码: {{{ $redis = new Redis(); while(true){ $data = $redis->blpop("aaaaaa"); if($data){ echo "准备异步通知\n"; var_dump(swoole_timer_after( 3000, function ($tmpData) { echo "进入异步\n"; }, [] )); } } }}} 以上代码只能输出"准备异步通知",不能输出"进入异步"
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2019-03-22
a
admin
while true之后,进程就阻塞了。 建议这样 $data = $redis->blpop("aaaaaa"); if($data) { swoole_time_after(3000, function($tmpData) { //进入异步 //然后再调用blpop }); }
赞
0
回复