按照网上使用Db::connection('mysql')->beginTransaction(); 可是还是不生效 数据库只安装了下面这些插件 composer require -W illuminate/database illuminate/pagination illuminate/events symfony/var-dumper 可是事务回滚不生效,怎么回事呢? ...
问题描述 创建一个http服务,在浏览器访问很快就有数据返回 在代码里用 file_get_contents('http://127.0.0.1:8092');访问,没有数据返回 $worker = new Worker('http://0.0.0.0:8092'); $worker->onMessage = function(TcpConnection $connection, Request $reque...
问题描述 我在一个function 里写了 Db::beginTransaction(); 可否在commit之前使用event? 我这样尝试去做测试,但是遇到一个问题,就是如果我event执行失败, 初始的function无法进行rollback. 请问这个可以有什么好的解决办法吗? Db::beginTransaction(); try{ xxxx; xxxx; event("订单处理事件"); }c...
问题描述 A、B服务器可以通过内网IP访问,A服务器和客户端建立连接,B服务器想通过sendToClient给客户端发消息, A、B的process.php要怎么配置呢 return [ 'gateway' => [ 'handler' => Gateway::class, 'listen' => 'websocket://0.0.0.0:7...
问题描述 thinkphp5.1框架使用 workerman版本 workerman版本 3.5.34 php think worker:server 启动服务的时候提示报错 程序代码 报错信息 [think\exception\ThrowableError] Fatal error: stream...
1.如果是onConnect时启动一个定时器定时查询数据(因为客户端没有主动上报),连接关闭时删除这个定时器。但是当进程reload时应当怎么处理,定时器应该是当前进程管理的吧 2.如果在onWorkerStart时启动一个定时器处理这个进程的所有连接,reload时怎么获取这个进程处理的所有连接(client_id)...
我打算使用webman push 实现一个聊天系统,有些问题不明白,请大家解惑 1,使用私有频道需要鉴权,如下代码将access_token 传给服务端,在服务端auth接口里面对token进行验证,这样可以吗,或者有更优雅的办法? var connection = new Push({ url: 'ws://127.0.0.1:3131', // websocket地址 app_key: 'xx...
问题描述 使用gatewayWorker开发的websocket服务,在宝塔环境下,配置nginx代理后,nginx偶尔会报 错误1: [error] 1511926#0: *51138 recv() failed (104: Connection reset by peer) while reading response header from upstream, client:xxxx 错误2: [error] ...
webman里安装好了gatewayworker,只有一个websock的端口监听,想再加一个websock的新的端口监听别的业务,怎么做? <?php use Webman\GatewayWorker\Gateway; use Webman\GatewayWorker\BusinessWorker; use Webman\GatewayWorker\Register; return [ 'gat...
问题描述 workerman reload 本人使用的是Events事件静态回调,在OnWorkerStart集合了Channel服务connect(),reload重启workerman,进程什么的也依次拉起,channel也经过两次try connect进行拉起,但是就接收数据而言,OnMessage 依然接收正常,而channel不管是用订阅还是队列,都不能发送与消费,除非客户端重新建立链接。 求问各位有没有...
需求是后台可以动态的修改redis连接配置, 通过修改数据库中的redis连接配置, 然后连接不同redis服务器,但是没有生效; 我具体的操作是先在redis配置文件里 增加了一个自定义的配置数组 admin_redis,然后读取数据库中的redis连接配置, 通过config()函数把配置文件给修改成数据库里读出来的, 最后$redis = Redis::connection('admin_redis');这样去...
问题描述 webman-admin.首页显示问题。 而实际上, 路由也没有改呀, 按照道理应该是显示readme呀, http://127.0.0.1:8787/app/fgcms/index 这个也是显示第一个截图 看来是被fgcms接管了,怎么样让http://127.0.0.1:8787/ 回归正常。...
问题描述 两台部署的gatewayworker服务,硬件配置为16核32G,最近半个月经常出现一台机器上的几个gateway进程cpu跑满100%,导致业务无法正常转发。 故障时status信息如下: worker进程显示不出来 通过strace -ttp 异常进程,得到的信息如下 另外开启了框架调试日志,输出的结果如下172.17.201.188是本机内网ip: ...
webman 用gatewaywork时,如何设置一定请求后重启进程 我看过workman的设置,比较容易,但是webman的,在哪,我没有找到...
问题描述 GatewayWorker与mvc等框架结合,如何使用定时器功能? 为此你搜索到了哪些方案及不适用的原因 因为现有mvc框架项目与GatewayWorker独立部署互不干扰,所以不知道怎么在mvc中如何是用定时器...
问题描述 这里详细描述问题 我准备开放一个接口给调用Go写的GRPC. 这段代码放到Controller中直接报错, 但是我放到PHP Cli模式写跑是正常返回的. 不确定是什么原因. 而且我发现, 在Windows下 可以正常运行. 返回正确的结果, 唯一的可能就是Event-Loop:\Workerman\Events\Select 这个事件处理器导致的结果 控制器下的程序代码 public function ...
问题描述 生产环境是2台16核32G的配置,按照手册分布式部署,配置gateway进程16个,和worker进程数100个, 使用压力测试系统并发2000个链接,只链接,不发送业务处理。在压力测试下,gateway进程cpu个别跑满,其他的也大都在70%,压力测试关掉后很长一段时间,有一个gateway进程cpu始终100%,其他gateway进程cpu基本回落到0,该状态下,业务系统可以正常链接上gateway,但...
问题描述 虚拟机配置 2G4核 已优化linux内核 单机部署 开启2个gateway进程4个worker进程 在onmessage事件 认证通过后为当前 设备注册2个timer,一个30秒执行一次生成轮询任务放到任务池,一个0.3秒抽取任务池任务执行下发指令 模拟1000个设备连接,只收发的情况下,cpu 打到60-70% 这个情况算合理吗?...
webman的路由参数,如果不是在控制器里面获取,在functions里面获取,应该怎么做 我有一个通用的方法要判断请求的参数,返回所有的请求参数给其他函数使用,如果每次都通过控制器来做,代码量会多很多,逻辑也复杂很多,希望能有一个通用的获取参数的方法...