workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
wokerman运行一段时间,php
进
程占用100%
strace
进
程后
发
现陷入死循环 [attach]1854[/attach] 这是什么原因造成的?
问答
make:controller如何生成多应用的控
制
器文件
make:controller如何生成多应用的控
制
器文件,如我们要生成 \plugin\fengu\app\admin\Indexcontroller.php 该怎么做?
问答
(
二
楼事例)
测试得知:php文件记事本打开另存为ansi格式,
发
送
或接收的中文字符串才能正常显示,否则就是乱码的。 可不可以改成utf8格式也能正常显示中文呢?
文档
getAllClientIdCount
getAllClientIdCount(void); ``` ``` (要求Gateway版本>=3.0.8) ``` [如何查看Gateway版本](get-gateway-version.md) 获取当前在线连接总
数
(## 注意 该方法的别名为```Gateway::getAllClientCount(void);``` ## 参
数
无参
数
## 返回值 返回一个
数
字 注意:如果是客户端断网断电等极端情况掉线,客户端的onClose回调可能无法及时触
发
,参见[onClose](on-close.md)说明。## 范例 ```php use \
GatewayWorker
\Lib\Gateway; class Events { ...onConnect($client_id) { var_export(Gateway::getAllClientIdCount()); } ... } ``` 打印出的
数
据
类似如下
问答
push两个服务间怎么
进
行配置
api' => 'http://0.0.0.0:3232', 'channel_hook' => 'http://127.0.0.1:8287/push/hook', 然后api 推
送
到界面现在把api 和 界面 拆分出来分成了两个项目 api 和 www界面怎么
进
行配置?
问答
webman最近
发
现一个问题
我(webman开
发
的)系统是多用户的使用的,A用户在后台上传文件的时候(文件稍稍大有好几M),B用户此时访问任何其他页面都会觉得系统很卡,感觉是任何一个阻塞久点的
进
程
发
生了,整个系统就会其他
进
程也会伴生阻塞
问答
websocket
数
据
格式如何转换为socket
数
据
问答
PHP Fatal error: Uncaught Error: Class '
GatewayWorker
\BusinessWorker' not found
PHP Fatal error: Uncaught Error: Class '
GatewayWorker
\BusinessWorker' not found in /var/www/html/Applications
问答
gateway-worker,使用swoole event-loop就报错
/vendor/autoload.php'; // 设置事件循环类为 Swoole //Worker::$eventLoopClass = Swoole::class; // gateway
进
程,("Websocket://0.0.0.0:39002"); // gateway名称,status方便查看 $gateway->name = 'YourAppGateway'; // gateway
进
程
数
// 服务注册地址 $gateway->registerAddress = '127.0.0.1:1238'; // 心跳间隔 $gateway->pingInterval = 20; // 心跳
数
据
http_header) { // 可以在这里判断连接来源是否合法,不合法就关掉连接 // $_SERVER['HTTP_ORIGIN']标识来自哪个站点的页面
发
起的worker = new BusinessWorker(); // worker名称 $worker->name = 'YourAppBusinessWorker'; // bussinessWorker
进
程
数
量
问答
消息队列,消费者可以同时处理多条消息吗?
场景:同步第三方平台的产品
数
据
,比如
发
起同步某个账号的产品,一个账号下面的产品可以最少也有几千条,多达十几万的也有。 注:考虑第三方API是没有批量查询接口的。如果不能实现,我就打算放到REDIS list里,用wokerman的定时器读取redis来
发
送
异步http请求,如果失败就重新加到list里。另外在这样IO耗时的场景下,开启
进
程
数
量怎么计算会合适些?
问答
webman能不能实现类似laravel的控
制
器中间件
#### 问题描述 实现类似laravel的控
制
器中间件,有没有大佬提供个思路。
分享
从ThinkPHP6移植到Webman的一些技术和经验(干货)
、路由、中间键等 到
数
据
库、Redis的连接、使用释放 到 php-fpm释放资源、销毁所有类定义、实例、销毁符号表等 到 php-fpm将结果转
发
给nginx/apache 到 nginx/apache路由: a、TP的路由是一条条解析,匹配即
进
入,路由可重复定义;Webman稍有不同,定义时如果有相同路由,则控
制
台会报错无法启动服务(好处是及时能
发
现错误)。d、路由规则的第一个参
数
:Webman是 / 开头,而TP不是; e、TP的路由规则的第
二
个参
数
:TP是[控
制
器类, '方法'],TP是 字符串(包含目录、控
制
器名和方法)。f、都不匹配的路由:TP是route::miss,Webman是route::fallback; g、资源路由:第
二
个参
数
和 指定方法 稍有不同; h、TP的资源路由和Webman的资源路由名称对应,并调用构造函
数
;Webman可以在 config/app.php 中开启:'controller_reuse' => false,不推荐 action-hook 插件(有BUG); 附带我开
发
和移植的两个项目
问答
如何
制
作只能给udp使用的协议
手册上在介绍自定义协议时没有介绍该协议是在tcp下使用的还是udp下使用的,而我在看内置的协议时,
发
现有的协议指定连接必须是tcp对象,有的是连接的抽象对象,有的没有指定,如图,从上到下依次是text,还是说无论协议如何定
制
,想实现tcp或者udp的指定,都必须用worker的transport属性指定.
问答
channel组件的多个
进
程,如何实现每个
进
程处理不同的用户产生的订阅事件?
设置了$worker->count = 4;每个worker都作为channel组件的client连接了server,都订阅了某个事件.每次publish事件时候,四个
进
程都响应了这个事件。我只想要一个
进
程响应该事件。多用户请求同时出
发
publish事件时候分给这四个
进
程分别去处理。
问答
大家有没有出现 偶尔响应慢的问题
没有业务逻辑 没有
数
据
库操作 没有redis操作 我开始以为是网络 或是 nginx 或是 浏览器 或是 mysql的问题 结果 curl 127.0.0.1:8787 还是卡顿 有时候需要等待20秒才能响应 情况是 : 第一次访问需要等待15秒 然后第
二
次 第三次 访问 就快了 等一段时间的第一次访问 又会慢 然后第
二
次 第三次 又会快起来 该访问只有这几行代码---------
问答
webman 的 monitor
进
程内存监控平滑重启好像并不平滑?
#### 问题描述 查阅代码
发
现内存达到重启条件后执行了`posix_kill($pid, SIGINT);`,看起来并不是`平滑的重启`,随后我对这个猜想
进
行了验证 #### 复现环境 1、将重启内存阈值调低到`30M`(memory_limit) 2、将内存检测周期由原来的`60s`改为`10s` 3、程序内有意加载更多的文件,并存储于静态
数
组中 以上3点都是在原规则下,尽快和频繁的触
发
内存超限重启 #### 重现问题的步骤 1、直接在触
发
重启的位置来个输出  2、监控
进
程的内存使用情况来核对触
发
情况 !
问答
workerman启动时候 创建新的
进
程做定时器
开了4个
进
程 要在workerman启动时候 调用一次函
数
创建出新的
进
程 来做定时器 仅调用一次 现在在gateway那里调用 会执行4次
问答
gatewayworker
两个不同app之间如何通讯
比如一个app是text协议 另一个app是wb协议 这两个app
gatewayworker
之间如何通讯?
问答
请问web-msg-sender 无法引用自定义的array吗?
// 全局
数
组保存uid在线
数
据
```php $uidConnectionMap = array(); $live_agent_arr=array(); //自定义了个函
数
,在 $socket->on\n\n"; // PHPSocketIO服务 $sender_io = new SocketIO( 2120 ); // 客户端
发
起连接事件时,设置连接socket的各种事件回调 $sender_io->on( 'connection', function ( $socket ) { // 当客户端
发
来登录事件时触
发
$socket->on( 'login', functionif ( isset( $socket->uid ) ) { return; } // 更新对应uid的在线
数
据
live_agent_arr, array( "exten" => $uid, "channel" => "" ) ); } // 将这个连接加入到uid分组,方便针对uid推
送
数
据
问答
如何用php测试websocket的最大消息
发
送
量
已经用workerman 搭建好了,现在想往同事那边一次性
发
1000或2000+条的消息。要怎么测试,PHP单线程的。不知道怎么搞。。求大神教一下
« 上一页
1
...
149
150
151
152
153
154
155
156
...
430
下一页 »
« 上一页
152
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝