请教定时器如何连接Gatway?

猴子
<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once './Workerman/Autoloader.php';

$worker = new Worker();
// 开启多少个进程运行定时任务,注意多进程并发问题
$worker->count = 3;
$worker->name = "TimerWorker";
$worker->user = "www";
$worker->onWorkerStart = function ($worker) {
}

定时器启动文件start_timer
启动后,无法使用Gatway::sendtogroup()等方法发送数据
但是使用Github上提供的GatewayClient库 可以正常发送消息
初步判断是Timer未能连接Gateway导致

也尝试过添加
$worker->registerAddress = '127.0.0.1:1238';
但是依然是不能连接,使用
php start.php status 查看gateway的连接数没有任何变化

请教一下,这个问题怎么破?

2204 3 0
3个回答

walkor

设置 Gatway::$registerAddress = '127.0.0.1:1238'; 试下。

  • 暂无评论
猴子

同样的问题,不行
register上连接数还是7个,6个worker一个gatway。没有变化,发送消息的时候导致timer进程退出
016-06-07 01:47:50 WORKER EXIT UNEXPECTED

如果没辙我就用gatway client发送了。也能发,但是框架如果有这个问题,始终还是不太方便

  • 暂无评论
heart

首先,你得 use \GatewayWorker\Lib\Gateway;
GW环境不需要使用gatewayclient

  • 暂无评论
年代过于久远,无法发表回答
🔝