workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
请求大接口会占用大量内存【已解决】
#### 问题描述 有个业
务
需要请求一个外部接口,返
回
的数据特别大,开了gzip压缩,json_decode后内存占用达到400M,这400m会一直占着
不
释放,还有可能往上加,如果worker_num开大一点更
不
得了,会把内存耗尽。#### 为此你搜索到了哪些方案及
不
适用的原因 测过
不
同php版本,测过swoole,试过把类属性改成局部变量,都无法解决,最后的办法是把workerman常驻改成http异步请求。
文档
sendToAll
如果指定的$client_id_array中的client_id
不
存在则自动丢弃 ## 参数 * ```$send_data``` 要发送的数据(字符串类型),此数据会被Gateway所使用协议的对数据
不
再做任何处理,直接发给客户端。如果```$raw```为```true```,要求```$message```为用协议打包好的数据(调用了gateway指定协议的encode方法
生
成的数据),否则客户端可能无法解析。此参数一般用于某些特殊情况,例如合并多个数据包为一段buffer,一次性发给客户端,而
不
是逐条发给客户端,这将有助于降低系统负载。 绝大多数情况此参数用
不
到,开发者可以忽略。### 返
回
值 因为数据发送是异步进行的,所以没有返
回
值。一般来说只要客户端在线就可以发送成功。
问答
webman,如何动态设置定时任
务
需求: 根据用户的设置,比如每天凌晨3点,执行一个定时任
务
这个定时任
务
,执行的时间,是根据用户的设置来的\ 最关键的问题是,这个设置可能会经常变化 可能今天用户设置为每天凌晨3点执行 可能明天用户设置为每天凌晨
问答
客户端连接websocket超时(PHP7.3连接正常,PHP5.6连接超时)
[截图](//www.workerman.net/upload/20200420/205e9d4e19aa92.png) 开启服
务
成功,js正常连接websocket 但是当环境变量切换到PHP5.6时同样的测试代码,开启服
务
也成功:  使用原
生
websocket时,php5.6也是可以正常使用的,只是使用workerman时,
不
能正常使用 因公司项目环境,必须使用5.6环境,所以必须解决这个问题,求各位大佬赐教,这个到底是什么问题
问答
socket.io为什么
不
能支持同端口多进程模式?
之前一个问题中说socket.io的服
务
端运行机制决定每个端口只能开启一个进程。(http://wenda.workerman.net/?/question/882) 能再进一步说明一下 为啥么,它的机制有什么
不
同的导致一个端口只能开启一个进程?
问答
workerman中的mqtt连接第三方的mqtt服
务
端,显示Connection timeout
公司服
务
器是用ubuntu的,然后连接第三方的mqtt服
务
时,显示连接超时,同样的代码,我在本地测试,也用自己的服
务
器测试过,都可以正常连接,公司的服
务
器也没有开防火墙,会有什么原因导致连接超时?  然后下面是自己服
务
器的 !
问答
gateway worker client cli 下运行,一段时间后无法获取 uid bind 的 client id
client id 推送数据,一段时间后,gateway worker client 无法获取 uid 绑定的 client id,从数据库中取出 client id 再次执行绑定,能用一段时间,然后又失
效
只在客户那边出现,workerman 本身服
务
端中间没重启过
问答
一个延时操作的问题
这样一个场景,用户下单后1分钟内未支付将该订单自动删除,如何用wokerman的定时器来制作呢,希望能给个demo,我用手册的例子新建了一个文件,然后在自己的业
务
代码里面需要的地方采用命令行形式的方法去每次调用这个文件,
效
果是有,但是在请求数较多时cpu占用非常大。
问答
windows版是
不
是
不
支持getClientSessionsByGroup等一系列group相关操作
"7f00000108fe00000002":"john","7f00000108ff00000006":"ddd"}} 但在windows下,getClientSessionsByGroup的返
回
永远是空的
问答
redis队列中循环添加异步队列数据丢失
#### 问题描述 用户提交了一万条左右的数据更新操作,用了一个A异步队列将数据放进去,在A队列中,将一万条数据循环放入B异步队列,奇怪的
事
情发
生
了,B异步可能只有几十条任
务
,死活这一万条数据加
不
进B
问答
webman框架后续更新是否会
不
兼容其他第三方开发者的框架?
对于这个问题有一个担心,那就是webman持续迭代的过程中,是否会慢慢的出现
不
兼容第三方开发者自己的admin 说的更通俗一点,就是webman因为自身admin的一个小功能扩展进行了小版本的更新,但其他第三方开发者产品由于composer更新了下包,就导致
不
兼容出现!如果第三方的admin已经开发了很多插件的话,那将是一个很痛苦的
事
情。#### 为此你搜索到了哪些方案及
不
适用的原因 比如说,swiftadmin系统的插件是在根目录plugin,官方的也是将插件下载到了这个文件夹中。
问答
php windows系统下的tp5运行Workerman显示 @@@no worker inited@@@ 并自动退出
data) { $connection->send('我收到你的信息了'); } /** * 当连接建立时触发的
回
调函数connection) { $connection->send('正在连接'); } /** * 当连接断开时触发的
回
调函数connection->send('连接关闭'); $connection->close(); } /** * 当客户端的连接上发
生
错误时触发
问答
workerman怎么监控自己服
务
端挂掉
workerman怎么监控自己服
务
端挂掉,自动重启呢 类似nodejs pm2
问答
crontab定时任
务
组件如何支持command
像laravel里面command的Kernel,直接写command里面任
务
,如php webman test:test 这样
问答
$connection->send 发快了会变成两条
foreach ($_hex2arr as $key => $value) { $status = $connection->send($value); }
效
果如下
问答
高并发下,异步任
务
的数据接收延迟问题
使用方法引用的是:http://doc.workerman.net/faq/async-task.html 高并发下,workerman把繁重的任
务
交给本机另一个任
务
进程异步处理。task_data里带有发送时间的时间戳: ```php $task_data = time(); $task_connection->send(json_encode($task_data)); 任
务
进程接受数据task_data, true); // receive_time 在高并发下有时候会有十几秒 $receive_time = time() - $task_data; } ``` 任
务
进程接到任
务
的时候,当前时间和发送时间相减,发现高并发情况下,有时候会出现一连串十几条的任
务
,接受数据延迟达到7、8秒,甚至十几秒,可能会是什么原因呢。
问答
为什么时
不
时地就会出现这种情况导致 握手失败
30343 0 ``` ChatBusinessWorker 65280 1 这个地方是因为mysql 连接超时出的问题 但是还是会时
不
时地服
务
器
不
返
回
websocet握手信息导致客户端连接
不
上 是因为在 onWorkerStart 放了 数据库链接 和 GlobalData\Client吗
问答
四人网络麻将服
务
端如何保存剩余牌堆
问题场景:(用gatewayWorkerman作服
务
端实现) 4人麻将的服
务
端,服
务
端S通过算法将牌堆发给玩家,那剩余的牌是要保存在哪里?才能实现当玩家再从剩余牌堆请求牌时,服
务
端S能正确且快速地从剩余牌堆拿出一张发送给玩家? 没有代码给点思路也行,多谢。
问答
请教一下,怎么样把GatewayWorker 变成一个linux系统服
务
?
请教一下,怎么样把GatewayWorker 变成一个linux系统服
务
,最好是能像普通系统服
务
一样进行操作,如起动停止重起服
务
等。
问答
busy调试定位
不
到问题
尝试了busy调试的方式,没有找到问题原因 127.0.0.1:12345 是异步任
务
进程,9000端口的是http服
务
器 初次用workman,问题有点多,希望大神帮帮忙。
« 上一页
1
...
135
136
137
138
139
140
141
142
...
479
下一页 »
« 上一页
138
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝