我需要判断多个uid是否在线,尝试使用Gateway::isUidOnline轮询查询是否在线很慢,20个uid需要10多秒,这是什么原因呢?代码如下:
public function uidOnline($uids)
{
$memberids = [];
if(is_array($uids)){
foreach ($uids as $uid){
if(!Gateway::isUidOnline($uid)){
$memberids[]=$uid;
}
}
}
return $memberids;
}
使用Gateway::getAllUidList获取在线uid列表时返回空。
有什么其他代替方法呢?
跨外网调用了吧。
比如gatewayWorker一台服务器,调用isUidOnline调用在另外一台服务器,使用外网ip调用,有网络传输耗时,所以就慢了。
哥们,终于找到你的最新评论了,想和你联系下。关于phpmicro,我我的项目代码打包成webman.phar后,我如果需要运行的话,就执行
php webman.phar start
命令,就会起来一个服务,我现在需要使用micro.sfx把webman.phar 直接打包成二进制文件test.exe,点击 test.exe就直接能起来服务,就相当于运行php webman.phar start
,但是不知道怎么搞?如果直接copy /b micro.sfx + "webman.phar" test.exe
,然后运行test.exe start
会提示Only run in command line mode
,请问你是怎么结局这个问题的?谢谢。我一次查询400个,也没有1秒