workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
Gatewayworker 如何跟外网服
务
器部署
Gateway 和 Register 在云服
务
器,BusinessesWorker 在外网服
务
器。
问答
CDN加速之后 workerman聊天室
不
能用了
网站没问题,但是发现聊天室
不
能用了, 服
务
器端接受
不
到任何数据. 求助..看了好几天资料也没有解决这个问题
分享
一款新的队列服
务
插件(3/28 添加redis集群支持)
如果目录
不
存在就创建它(==可以编辑config/plugin/playcat/queue/process.php中的consumer_dir的地址来改变==) #### 启动webman的服
务
`\Payload; $payload = new Payload(); //对应消费队列里的任
务
名称 $payload->setChannel('test'); //对应消费队列里的任
务
使用的数据 $payloadPayload(); //对应消费队列里的任
务
名称 $payload_delay->setChannel('test'); //对应消费队列里的任
务
使用的数据 $payload_delay->setQueueData);` ``` ### 异常与重试机制 任
务
在执行过程中未抛出异常则默认执行成功,否则则进入重试阶段.getRetryCount(): 当前任
务
已经重试过的次数 - getQueueData(): 当前任
务
传入的参数 - getChannel(): 当前所执行的任
务
名称 ## License
问答
webman 异步任
务
怎么实现
webman 异步任
务
怎么实现,有没有列子啊, 新手谢谢
问答
workerman如何平滑重启新加的服
务
'/vendor/autoload.php'; // 加载所有Applications/*/start.php,以便启动所有服
务
foreach(glob(__DIR__.'/Applications/*/start.php') as $start_file) { require_once $start_file; } //运行所有服
务
Worker::runAll(); 执行php start.php -d 之后如果Applications/*/start.php 这个目录下手动添加一个start.php文件如何平滑重启后让这个服
务
运行起来
问答
使用gateway-worker绑定了client和uid,如何判断uid是否已离线?
(客户端会向服
务
端发送心跳,5s/次) 2.用户请求服
务
端,获取道闸上的金额,进行支付 假设道闸客户端连接到gateway-worker的client_id是001,车场的客户端编号是A,那在道闸连接上服
务
端的时候现在有一种情况,就是道闸系统有时候网络
不
好,老是断网,断网情况下,道闸客户端就没办法向服
务
端及时发送心跳包,服
务
端也
不
知道这个客户端A离线了,这时候如果有http请求进来,服
务
端会继续向客户端A发送请求获取金额,这时候就会导致进程阻塞,导致http请求一直在请求中,直接影响到后续的http请求也进
不
来 想问下,这种情况应该如何处理呢?但是这种方法建立在client_id触发了onClose
回
调,像断网这种情况,客户端是没办法触发onClose
回
调 2、服
务
端向客户端发送心跳包检测客户端状态 我看官方文档可以通过服
务
端向客户端发送心跳包检测客户端状态,假设我设置心跳包3s/次,但是这种也会存在心跳包刚检测客户端正常,过了1s客户端因为断网离线了,这时候有http请求进来,服
务
端还
不
知道客户端连接
不
上了,还是会出现上面我所说的情况 想问下大家有更合适的方案吗
问答
gatewayworker 有时候
不
进入worker
我现在的部署方案是 我采用的是 gatewayWorker 1:一台register 2:一台 gateway 3:一台 worker服
务
场景描述: 1:有的时候客户端发送消息的时候,我在worker里面的 onMessage里面 输出日志 ,这里压根
不
输出 服
务
端响应的还是之前的数据 我php版本是7.1 另外 opcache也关闭了 我在编译的时候 --disable-opcache `
问答
workerman为什么没有swoole关注的人多,原因在这里
低调做
事
问答
workerman做http并发问题
假设我拿workerman来做http 服
务
器,请问我是
不
是
不
能在onMessage 里面用 $_SERVER,$_GET,$_POST 这些变量?因为按我的理解,这些变量是全局变量,假设你在里面使用这些变量,那么获取到的一定是最新请求那个人提交上来的数据,而无法保证是现在你当前正在处理这个人提交上来的,
不
知道我理解的是
不
是正确的,知道的请
回
答一下
分享
webman ingenious 工作流应用插件
webman-admin.ingenstream.cn/app/admin# 演示账号:demo,demo1 demo2 演示密码:123456 # 项目介绍 基于Ingenious 工作流引擎实现 支持常规的流程流转,比如跳转、
回
退、审批和任意跳转 支持转办、终止,任
务
最终
回
到发起人 支持会签(串行和并行) 支持角色、用户等参与人设置 支持监听器,参数传递,动态权限 支持互斥网关,并行网关 支持条件表达式 支持自定义任
务
支持前置后置拦截器支持子流程 支持委托 支持消息提醒 支持过期自动撤
回
支持过期任
务
自动审核 内置任
务
调度 内置定时器管理 # 项目截图 !
问答
硬件、服
务
端、客户端三者之间如何通信,实现转发
遇到一个很棘手的问题,在使用GatewayWorker时: 硬件设备与服
务
端之间必须通过TCP来进行通信,服
务
端获取了硬件设备发送过来的数据后,需要转发给客户端,而客户端与服
务
端建立之间又必须通过webScoket就很懵逼这里 2021/03/29 19:11 可能各位大佬理解错了我的意思,我想实现的内容: 1、首先硬件设备与服
务
端之间通过TCP进行握手,握手成功; 2、服
务
端将指令发送给硬件设备,硬件接收到相应指令后开始向服
务
端一直发送某一数据包; 3、服
务
端接收到这些数据包后进行解析,解析完毕后,将这些数据实时转发给客户端,但是客户端与服
务
端之间是通过WebSocket来实现长连接; 因此,这一步我就卡住了,
不
知道以什么样的方式将硬件设备传输过来的数据通过
问答
我想请教下关于内核优化的问题
文档中提出的内核优化 1 是安装拓展 2 是做些配置 我的服
务
器只使用AsyncTcpConnection请求外部的服
务
器。(可能我会发很多数据到外部服
务
器,然后外部服
务
器返
回
给我。也就是并发问题实际在外部服
务
器那边) 做内核优化对我的业
务
有帮助吗?
文档
send buffer to worker fail
出现这个问题的原因一般是start\_gateway.php和start\_businessworker.php中的`registerAddress`设置错误或者设置的
不
一致。中的`registerAddress`设置错误或者
不
一致时, 会导致Gateway和BusinessWorker无法通讯。分布式(集群)部署时,IP为实际Register服
务
部署的IP(分布式部署时只需要部署一台Register服
务
即可,假设是192.168.1.100), 则start\_gateway.php和start### 原因二 业
务
设置了business\_worker->onWorkerStart 或者 Events::onWorkerStart
回
调,并且
回
调里有死循环或者长时间阻塞的代码,致使框架无法执行### 原因四 服
务
器启动了多个GatewayWorker,并且多个GatewayWorker使用了相同的端口导致冲突。利用命令 `ps auxf` 查看进程启动情况。
问答
如何使用一个ws服
务
端联系另一台ws服
务
器取数据?
就是我有一台WS服
务
器的API,怎么样才能转换成自己新的ws接口?
问答
请问webman-admin,可以在同一个webman中开两个
不
同的admin么?
#### 问题描述 有两个项目想要使用webman-admin,但是对应
不
同的服
务
器,可以在同一个webman项目中,给两个项目设置
不
同的admin项目么?
问答
GatewayWorker接收到客户端消息怎么转给应用服
务
处理
现在的问题是接收到客户端的消息后怎么把消息转给Web去处理 #### 目前的想法是 方案一: 接收到消息,扔到队列给Web应用去读取并处理后再异步发送, 方案二:客户端
不
请求GatewayWorker,都是直接请求Web接口,接口直接返
回
接收成功,后台异步处理完,通过GatewayWorker推送消息
问答
前端一直显示待处理
有时候服
务
端已经返
回
数据了,有时候前端一直是待处理,直到二三十秒后才返
回
数据甚至超时断开,服
务
端没有报错,曾怀疑数据库问题,注释掉了数据库相关代码还是一样的情况。
分享
「分享创造」在Workerman中使用GuzzleHttp协程版实现无感异步请求
## 简介 PRipple协程引擎是一个100%原
生
PHP代码实现的现代化协程引擎,
不
依赖任何扩展, 可以在任何PHP环境(FPM/CLI)下运行, 本组件是基于该引擎开发的GuzzleHttp的异步请求插件长连接 ]); $client = new \GuzzleHttp\Client(['handle' => $handle]); // 发送请求(即使该请求耗时很长, 也
不
会堵塞当前进程的其他请求function index(Request $request): string { $client = \P\Plugin::Guzzle(); // 发送请求(即使该请求耗时很长, 也
不
会堵塞当前进程的其他请求response = $client->get('http://www.baidu.com'); return $response->getBody()->getContents(); } ``` ##
效
果演示
问答
AsyncTcpConnection 能否设置超时连接时间
AsyncTcpConnection IP可能会变化,对最后一个IP有保存,但是当IP变了后,连接老的IP会要30秒才知道
不
能连接,能否设置连接操作几秒,没成功,就代表该IP无
效
,需要重新获取IP
问答
workerman V5有相关使用demo吗?
workerman V5 发了测试版,但是我感觉
不
出啥
效
果,大佬们有相关demo让我体验下嘛? Db有异步IO的组件出来嘛?
« 上一页
1
...
117
118
119
120
121
122
123
124
...
461
下一页 »
« 上一页
120
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝