问题描述 这里详细描述问题 webman的进程,在运行一段时间后,自动重启。没有留下任何日志。退出计数里面是2. 程序代码 报错信息 没有报错,怎么记录多点日志哦? Workerman[start.php] status ------GLOBAL STATUS--------- Workerman version:4.1.3 PHP version:7.3.8 start time:2026-...
Nginx 代理 Gateway recv() failed (104: Connection reset by peer) 这里写问题描述 平常同时在线3w + 左右的流量 2026/01/06 11:01:03 [error] 31950#0: *36858852 recv() failed (104: Connection reset by peer) while proxying upgraded con...
问题描述 https://github.com/walkor/workerman/issues/1128 https://github.com/walkor/workerman/pull/1129 上面的合并在window环境下会导致协程无法使用,没有修改代码之前使用fopen(__FILE__, 'r'),在windows下代码运行是可以正常运行的, 合并以后变成了fopen('php://memory', 'r'...
问题描述 线上API偶现There is already an active transaction异常,ORM框架使用的是think-orm,仔细检查过代码,开启事务后,有成对出现的commit和rollback,没有嵌套事务,请问如何排查和解决。 目前想进一步确认: 1.开启事务后和提交事务后,使用$pdo->inTransaction()检查是否在事务中,都返回true,这是否正常,这样检查可靠吗? 2....
问题描述 大家好!使用官方限流组件最新版 5分钟5次我一直更新资料偶尔会报Too Many Requests 但是操作成功次数远远超过于5次,redis计数也没有跟着上涨有时候还会过期了。请问这是怎么回事呢? 程序代码或配置 // 更新用户资料 #[RateLimiter(limit: 5, ttl: 5 * 60, key: RateLimiter::IP, message: 'Too Many Requests'...
优点: 实现简单,性能好(计数器 + 当前窗口时间即可) 很适合每秒、每分钟那种定量控制场景 缺点: 边界突发,比如 10:00:59 来10个,10:01:00又来10个,就变成1秒内来了20个,系统有可能扛不住(容易“抖动”)...
app ├── controller │ └── BaseController.php ├── validate │ └── BaseValidator.php └── view ... module ├── admin │ ├── controller │ │ ├── BaseController.php │ │ └── IndexController.php │ └── rou...
webman里安装了gatewayworker插件,bussiness进程内存一直增加 onWebSocketConnect、onMessage、onClose三个方法里不执行任何代码全部直接return,每次有长连接建立、关闭,用php start.php status查看,都会发现内存在增加 测试连接脚本 $worker = new Worker(); $worker->onWorkerStart = f...
截图是我的webman运行日志。使用了workerman/redis-queue,想问下大佬们 这个pid:1683 worker[plugin.webman.redis-queue.redis_consumer_shot:2073678] exit 是什么机制导致的退出的。运行时间过长吗,还是说运行了reload命令?如果是运行了reload命令,12-02日以前没有退出...
问题描述 这个报错不是一直报错,有的时候重启消息队列会报,但是重新运行后又正常了 程序代码 /** * 执行任务 * @return void */ protected function execute(Input $input, Output $output) { $this->resetCli($input, $output); ...
问题描述 使用查询构造器查询数据时,匹配到mysql有datetime的字段,该日期会被自动更新,我不需要它被更新。 程序代码或配置 $token = Db::table('token')->orderBy('times','asc')->limit(1)->get(); 重现问题的步骤 token表的last_login字段类型为datetime,执行上述查询时,只要时间(分)小于当前时间(分),...
问题描述 我的业务中有个模块,可能需要执行1-2分钟。 当 php start.php start 模式下(方便直接修改直接调试),文件热更新后 阻塞进程exit with status 9 期望 能不能实现热更新后,不要影响正在执行中的进程,先把空闲进程热更新掉,耗时的进程等待完成后在去更新呢?...
问题描述 不知是什么原因导致的cpu短暂的跑到100% 截图报错信息里报错文件相关代码 操作系统及workerman/webman等框架组件具体版本 webman框架 "require": { "php": ">=8.1", "workerman/webman-framework": "^2.1", "monolog/monolog": "^2.0", "saithink...
问题描述 workerman/redis-queue的onConsumeFailure消费失败回调没有 包版本号 "webman/redis": "^2.1", "webman/redis-queue": "^1.3", webman/redis-queue包里面的接口也有消费的接口 没有失败回调的接口 namespace Webman\RedisQueue; /** * Interface Consumer ...
问题描述 关于配置 我有些数据是直接写在plugin/xxx/config/config.php 当插件导出数据后,会将新的数据覆盖到这个config.php里面 这个时候需要让webman重新加载一下配置使其生效,否则就必须得重新启动框架 关于中间件 当框架启动后就会把中间件加载到内存中 而我的会去检测插件是否安装,是否已启用,才会把这个插件的中间件进行加载 关于路由 当框架运行后就会立马加载路由,而我的是插件安装...
新版本如何正确开启携程 每次报这个错误? Error: Class "Workerman\Coroutine\Coroutine" not found config\server.php 的配置 return [ 'event_loop' => Workerman\Events\Fiber::class, // 这里配置会报错 'stop_timeout' => 2, 'pid_f...
问题描述 直播间人数3-10万 目前是4个gateway服务(最大可扩展6个服务) 16核32G服务器部署 有大量的sendToGroup的场景 请问需要分割分组进行推送消息吗?单个分组向10万人推送信息会造成阻塞吗? 为此你搜索到了哪些方案及不适用的原因 老代码中将直播间固定分割了10个分组,例如:roomid_1 roomid_2 这样的形式 推送的时候直接for循环推送十次 最近发现出现丢包和超时的问题 排查觉...
问题描述 这两天发生的问题,前几天没问题,看到日志里报错: default.ERROR: {"error":{"code":"exception","message":"read 154.40.48.107:443 timeout after 600 seconds","detail":"...