在高并发下老是出现锁表或违反唯一约束

问题描述 我服务端是采用Workerman+GatewayWorker+TP5 在使用中,如果并发不高的话,基本没问题, 但是一但有高并发时,同时需要插入或更新批量数据时,有时会出现锁表或者违反唯一约束了, 我已经在插入时先判断是否存在记录了,不存在才整合起来,一起插入的。 $remindData=[];//提醒库 //评论 $commentData=[]; $commentUserList=isset($objec...

freely 发表与 2023-03-14 925 浏览 2 回答
我在使用composer 升级workerman/crontab升级到1.0.6好像不没有找到

问题描述 我在使用composer 升级workerman/crontab升级到1.0.6好像不没有找到 升级不成功 我执行的是 composer require workerman/crontab ^1.0.6 但是不成功 只有composer require workerman/crontab可以。 但是安装成功后的版本是1.0.2的。...

freely 发表与 2023-03-07 433 浏览 1 回答
不知道什么原因触发Onclose

bug描述 客户端所在设备IP切换后(网络会每隔几天会IP变化),会与服务端断开连接,触发了OnClose事件。断开后,设置了2-3秒重新连接,也连接成功了,并且正常工作了。 但是,重连成功后,服务端有时会触发某些连接的Onclose给部分设备客户端。导致客户端又反复断开连接。并且重连成功后,过个300多秒后又会触发Onclose 客户端重新成功后是有启动心跳发送的,服务端也有收到心跳数据的。 但是就是会有一些设备会...

freely 发表与 2023-01-02 653 浏览 2 回答
删除了配置stdoutFile的日志文件没办法自动再次生成

bug描述 在初始化启动时配置了stdoutFile的日志输出文件,配置成功后,启动workerman后,也是有正常在对应的目录下生成这个日志文件,但是一但在运行中删除掉这个日志文件,那么不会再重新生成这个日志文件了,就算手工增加了相同文件名的日志文件,也是一样没有再将日志写入到这个日志文件里。必需要停止服务然后再启动服务才会又生成文件。 有啥方法可以让在运行中时,删除掉这日志文件后当有日志信息时又会自动生成这个文件...

freely 发表与 2022-12-10 834 浏览 3 回答
fwrite(): send of 8192 bytes failed with errno=11

问题描述 项目是采用TP5+workerman(4.19)+GatewayWorker(3.X) 在日志上有时会收到这样的报错(TP5的/runtime/log日志文件) 有时会报这个错,有时不会,都正常。 这是啥原因引起的呢?如何解决呢?或者有什么方法可以定位到问题点呢? 程序代码 报错信息 截图报错信息里报错文件相关代码 操作系统及workerman/webman等框架组件具体版本 TP5+workerma...

freely 发表与 2022-12-06 571 浏览 1 回答
有些客户端反复断开重连

bug描述 有些客户端有时会出现断开连接,发现是服务端主动触发onclose将客户端退出关闭的,但是我查了下发现被断开的客户端是正常的,也有每隔10秒发一次心跳,但就是出现反复断开又重连上来,过会儿又断开了, 我自己加的触发onclose的设置,一个也没触发,为啥还会触发onclose呢? 我是将客户端发过来的所有消息在onmessage接收到后转化到对应事件的缓存队列里,然后再来处理,然到会和这个有关系吗? 或者哪...

freely 发表与 2022-12-03 693 浏览 1 回答
workerman reload后会有什么影响?

问题描述 workerman reload后会有什么影响呢? 当使用reload重置后,除了定时器会没了。还有其它影响吗? 之前bind绑定的链接ClientId还是正常的? 为此你搜索到了哪些方案及不适用的原因...

freely 发表与 2022-11-26 922 浏览 1 回答
Gateway::isUidOnline 有时不在线

bug描述 我在登录时,使用Gateway::bindUid($client_id, $pc_user_id);绑定了登录用户信息 然后,在其它要用的地方时,我先使用Gateway::isUidOnline($pc_user_id)判断是否在线,有在线再处理业务发送信息。 但是在使用中,发现会有极小的概率出现Gateway::isUidOnline返回false值,不在线。有时又可以了。很奇怪。 请教下大概会是什么原...

freely 发表与 2022-10-22 739 浏览 2 回答
经常报stream_select(): You MUST recompile PHP with a larger value of FD_SETSIZE 错误

服务端我是使用Workerman+GatewayWorker+TP5组合使用。 在TP5的runtime>log下经常收到 这样的错误。 这种会对服务端有影响吗?如何处理呢?...

freely 发表与 2022-08-25 1012 浏览 6 回答
Workerman重启后客户端发送心跳服务端报错

服务端是Workerman+GatewayWorker架设 客户端是采用C#开发的。 当服务端断开后,客户端也断开连接了。 当服务端重新启动后,客户端也重新连接上服务端了。然后发送心跳包数据。 但有时会出现客户端发送的心跳包数据,服务端也有收到信息。但是使用$data=Gateway::getUidByClientId($client_id); 来获取对应连接绑定的数据时,会报Invalid argument sup...

freely 发表与 2022-08-22 677 浏览 1 回答
外部网站向RedisQueue发送数据没有收到

使用GatewayWorker架设了个服务端 采用RedisQueue来处理信息队列 在Events.php里的onWorkerStart里创建了订阅 $redisQueue=new Client('redis://127.0.0.1:6379'); $redisQueue->subscribe("User-1",function($message){ //信息的处理 Common::Msg...

freely 发表与 2022-08-08 583 浏览 1 回答
定时器删除了还是会存在

使用GatewayWorker,开启了10个进程 function OnMessage($client_id,$data){ switch($data['cmd']){ case 'open':{ self::AOpen($client_id,$data); break; } } } function AOpen($cl...

freely 发表与 2022-08-05 748 浏览 2 回答
Gateway的getUidByClientId报错Invalid argument supplied for foreach

最近经常报这个错误,不知是啥原因引起的,请各位帮帮忙! 按理说如果我没绑定那也应该是空值,而不是报Invalid argument supplied for foreach() 这个错啊。...

freely 发表与 2021-07-16 1115 浏览 1 回答

freely

-134
积分
0
获赞数
0
粉丝数
2020-07-25 加入
🔝