workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
webman的控
制
器逻辑更新后,调用时却仍然执行旧逻辑
如题,在使用webman 1.3.9时,修改了控
制
器中的代码,在终端上也看到了: ``` xxx.php update and reload Workerman[start.php] reloading``` 此时再调用控
制
器时,
发
现修改没有生效。控
制
器执行的仍旧是修改前的逻辑。 在提交这个提问的过程中,又尝试了一次调用,
发
现执行的是修改后的逻辑,是因为webman缓存了代码文件么?如果是,怎样实现实时修改,立马生效呢?
问答
gatewayworker
里面\
GatewayWorker
\Lib\Db::instance('db')这个只能在Events.php中用吗
gatewayworker
里面\
GatewayWorker
\Lib\Db::instance('db')这个只能在Events.php中用吗?
文档
运行多个
GatewayWorker
实例
# 运行多个
gatewayWorker
实例 可以运行多个
GatewayWorker
实例,步骤如下。1237 4、更改Applications/Chat2/start_gateway.php中的属性,包括**gateway端口**、**startPort**、**registerAddress**和**
进
程名**如下 ```php // ===更改gateway
进
程端口,这里改为8282=== $gateway = new Gateway("Websocket://0.0.0.0:8282"); // =
问答
[置顶] 官方
发
布物联网平台(私有化部署增加API接口)
#### 平台地址 https://iot.workerman.net #### 平台简介 本系统是官方基于webman开
发
的一套物联网平台,可以实现物联网设备的联网上线、
数
据
采集、命令下
发
、被动回复、实时通讯等功能,支持TCP协议和Websocket协议(ws和wss),本系统提供的是TCP协议透传,用户需根
据
实际情况将设备协议转为TCP协议后接入本系统,一般可使用DTU设备或IO设备,这些设备可以将硬件的各种协议统一转为3、增加获取设备
数
据
日志接口、给设备
发
送
消息接口。https://iot.workerman.net/login ---------------------------- # 2024.12.02更新 ### 私有化部署: 增加API接口 1、给设备
发
送
消息(仅限TCP设备) 2、获取设备
数
据
日志 3、获取设备在线状态 4、文档中增加ws客户端实时获取设备在线状态 详情查看:https://www.workerman.net/app/view/iot ##
问答
好像
发
现个BUG
问题详细信息: 我定义了简单的路由: Route::any('/test/request', function($request) { return response(); }); 访问时(没有任何参
数
): 用Get、Post、Put均没有问题,用Delete方式访问时,第一次正常返回200,第
二
次返回400,第三次返回200,第四次又返回400(循环)。。。
文档
协程通道 Channel
# Channel 协程通道 Channel是协程之间通信的一种机
制
。一个协程可以将
数
据
推
送
到通道中,而另一个协程可以从中弹出
数
据
,从而实现协程之间的同步和
数
据
共享。Task 2 Done"] }; Worker::runAll(); ``` ## 接口说明 ```php interface ChannelInterface { /** * 将
数
据
推
送
到通道中false */ public function push(mixed $data, float $timeout = -1): bool; /** * 从通道中弹出
数
据
* * 获取通道的容量 */ public function getCapacity(): int; /** * 是否有消费者,即是否有协程在等待pop
数
据
*/ public function hasConsumers(): bool; /** * 是否有生产者,即是否有协程在等待push
数
据
到通道 */
文档
压力测试
) * 服务端
进
程
数
是否合理 (helloworld业务
进
程
数
建议与cpu
数
相同,
数
据
库业务
进
程
数
建议为cpu的四倍及以上) * 业务自身性能 (例如是否使用了外网
数
据
库) ## HTTP keep-aliveHTTP Keep-Alive机
制
是一种用于在单个TCP连接上
发
送
多个HTTP请求和响应的技术,它对于性能测试结果影响很大,关闭keep-alive后QPS可能成倍下降。另外https和http相比会损耗更多资源,因为https需要
进
行SSL/TLS握手,
数
据
加密解密,包的尺寸变大占用更多带宽,这些会导致性能下降。如果CPU还有空闲说明还没达到极限,这时候可以适当增加并
发
提高QPS。 如果增加并
发
无法提高QPS则可能是webman
进
程
数
不够,请适当增加webman
进
程。如果仍然无法提高考虑带宽是否足够。如果是带
数
据
库、redis等阻塞IO业务,
进
程
数
可设置为cpu的3-8倍,因为这时需要更多的
进
程提高并
发
,而
进
程切换开销相对与阻塞IO则基本可以忽略。
问答
webman如何开启URL的PATH_INFO兼容模式?
n=20&m=5000 admin 为应用 user 为控
制
器 manager_user为方法名 n、m为manager_user方法的参
数
名 20 、5000分别为参
数
n及m的值 现象: 一、通过配置路由可以让manager_user方法获取到第1个URL中的两个参
数
,但此时第2个URL就获取不到了
二
、不配置路由,则第2个URL可以让manager_user方法正常获取参
数
,但第1个又获取不到了。问题:怎样实现
二
者同时可用?可否修改Request类的all方法来满足此需求?
问答
如何关闭规定时间内未认证的连接
请问如何关闭规定时间内未
发
送
过
数
据
的客户端 比如30秒内没收到一条
数
据
就自动关闭这个客户端连接 为了让未认证的连接必须在规定时间内认证 群里有人问这个问题,这里在问答中回复下
问答
tcp与websocket如何选择
我想实时监控订单
数
据
,和实时统计
数
据
库信息给后台,然后还要加聊天功能,但是不知道websocket与tcp选择哪个协议,用的是
GatewayWorker
问答
发
生status 139 和 11 的退出
追问一个问题,如果有某一个客户端
数
据
量很大,就算reusePort为true也不会平均分配给各个BusinessWorker,只会一直分配给一个
进
程,对么?如果业务中有
数
据
库操作,很可能出现busy的情况,是不是只能在开一个服务异步去处理,才能解决这类busy的问题。还是有更好的处理方法,谢谢~~~~
问答
守护模式
数
据
库报错 There is no active transaction ,debug模式没问题 ,求解~
守护模式
数
据
库报错 There is no active transaction , debug模式没问题 ,求解~
问答
workerman-statistics StatisticClient::report 返回true 统计
数
据
已生成 日志文件没有生成
workerman-statistics StatisticClient::report 返回true 统计
数
据
已生成 日志文件没有生成
问答
webman-socialite打包后Provider [qq] not supported
#### 问题描述 使用webman-socialite做社会化认证qq登录授权,未打包前运行无任何问题,打包后
二
进
制
和phar文件运行提示 Provider [qq] not supported.
问答
webman运行阿里sdk报错 not found
"AlibabaCloud\SDK\ICE\V20201109\Models\GetMediaProducingJobRequest" not found,打包前运行没有问题,打包后phar运行或是
二
进
制
运行都报错
分享
Workerman-Pusher:异步消息推
送
器
. **2、它是什么** workerman-pusher 是基于workerman开
发
的一个异步消息推
送
器: 它能够模拟WEB后台单向异步推
送
业务通知。 ), //间隔: 秒 'interval' => array( //页面弹窗通知间隔时间 'notice' => 3, //客户端
发
送
心跳间隔时间websocket://0.0.0.0:3000', 'inner' => 'text://0.0.0.0:4000', ), //连接哪个内部推
送
地址
问答
webman queue-redis重试达到最大次
数
放入失败队列的
数
据
如何重新消费掉
[截图](/upload/img/20221116/1663749ca295a3.png) 如图,消费失败到达最大重试次
数
会放到失败队列 修复问题后,失败队列的
数
据
会重新自动被消费掉吗?
问答
gatewaywoker 使用AsyncTcpConnection 隔断时间获取不到对方推
送
消息
#### 问题描述 gatewaywoker 使用AsyncTcpConnection 隔断时间获取不到对方推
送
消息 #### 为此你搜索到了哪些方案及不适用的原因 增加了断线重连还是每隔半小时就无法接收对方推
送
消息,目前是通过crond 每隔半小时重启一下,日志没有任何报错,链接没断开但也没法接收到
数
据
。
问答
[置顶]Workerman
发
布5.1版本 Webman
发
布2.1版本,协程支持
# Workerman
发
布5.1版本 * 要求PHP>=8.1 * 提供Workerman\Coroutine类,底层自动适配Swoole、Swow、Fiber协程 * 提供协程相关的组件,例如 Context2.1版本 * 要求PHP>=8.1 * 依赖Workerman 5.1 * 支持Workerman 5.1的协程及组件 *
数
据
库、redis等库的改造 #### webman 2.1协程组件如果有使用
数
据
库 redis等组件,需要同步升级,参见[升级到v2.1](https://www.workerman.net/doc/webman/upgrade/2-1.html) #### 相关文档从压测
数
据
来看,在充分利用CPU的情况下,引入协程极限性能一般会下降10-20%。 但是在有慢IO业务中,引入协程确实会大幅度提升性能。#### 建议 * 协程不是必须的 * 旧项目不建议无脑开启协程,这有可能带来因全局变量污染问题导致的
数
据
错乱 * 新项目可以考虑使用协程,但是没有必要为了协程而使用协程 * 旧项目遇到慢IO相关的业务可以考虑单独启动一组
进
程开启协程处理
问答
自定义非监听
进
程使用协程
#### 问题描述 在自定义
进
程使用swoole协程
二
进
制
打包 启动报错乱码 #### 程序代码 /app/config/process.php ``` <?
« 上一页
1
...
117
118
119
120
121
122
123
124
...
451
下一页 »
« 上一页
120
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝