问题描述 我用webman新创建的项目 composer create-project workerman/webman 然后再安装webman-admin composer require -W webman/admin 然后访问带端口号的地址: http://domain:55602/app/admin 一切都是正常的。 但是我的服务器、域名、端口都有限制,所以我不能在url根路径下访问webman-admin ...
我是用Webman做的,其实Workerman也是同样的道理。 服务端: config/process.php <?php return [ 'node_center' => [ // 对应的服务类 'handler' => process\NodeCenter::class, // 监听的协议 ip 及端口 (可选) 'li...
目前来看Webman程序运行期间一切是正常的,只是当我把服务停止时,会报出很多下面这样的报错: PHP Warning: Unknown: Epoll MOD(1) on fd 6 failed. Old events were 6; read change was 0 (none); write change was 2 (del): Bad file descriptor in Unknown on line...
class UserAuthCheck implements MiddlewareInterface { protected $controllerScope = [ 'app\controller\calltask', ]; protected $actionWhiteList = [ ]; public function process(Request...
问题描述 如图,calltask_init是异步任务服务端用来执行耗时任务,text协议,进程数开12,async_task_proxy为异步任务客户端,websocket协议,进程数开1,我在controller里做http接口,触发异步任务时直接连接async_task_proxy并指定要执行的异步任务。 结果我连接调接口8次,却只有5个任务开始执行了,另外3个任务为等待状态,具体哪个任务执行,目前没发现规律。...
写了一个rabbitmq的工具类,下面贴代码,需要生产消息时直接 \util\Rabbitmq\publishWorkerQueue($queueName, $msg); 需要消费消息时: \util\Rabbitmq\consumeWorkerQueue($queueName, $callback); 我一直有个疑问,这个rabbit的connection对象,应该是在worker启动时就创建好,然后在需要的地方直...
参考:https://www.easyswoole.com/QuickStart/Coroutine/waitGroup.html EasySwoole的示例: <?php go(function () { $ret = []; $wait = new \EasySwoole\Component\WaitGroup(); $wait->add(); // 启动第 1 个...
我是日志控,很多程序执行过程都要记录日志,队列生产时要记生产日志,队列消费时要记消费日志等等,而服务是在tmux中启动的,有时候希望直接在控制台里也能看见记录的日志,现在的做法是: $debugLogger->info('.....'); var_dumo('.....'); 也就是每一处记录日志的地方都要写两句,我记得monolog中好像可以配置同时记录文件并输出控制台,请问在webman中该怎么实现呢?...
在控制器里生成SnowFlakeId时,在高并发场景下还是会发生ID重复,需要传入$workerId参数可以避免,已知在process的onWorkerStart里可以得到$worker->id,那么在controller里,该怎么得到$worker对象呢?...
问题描述: 服务器在江苏,同一套服务端Workerman,我做了一份远程测试脚本,分别从我的笔记本(辽宁)和另外的云服务器(北京)上运行测试脚本,结果如下: 笔记本在辽宁家用宽带执行测试脚本访问江苏的服务器,从onConnect到onMessage间隔60毫秒; 华为云北京区执行测试脚本访问江苏的服务器,从onConnect到onMessage间隔1.04秒。 贴部分日志: 2021-05-27 19:18:08.3...