我有2臺(tái)服務(wù)器,以下簡(jiǎn)稱A和B,現(xiàn)在要將業(yè)務(wù)拆開
A服務(wù)器負(fù)責(zé)Gateway和register,B服務(wù)器負(fù)責(zé)處理businessworker。
A服務(wù)器,start_gateway.php配置
A服務(wù)器,start_register.php配置
只配置了這兩個(gè),start_businessworker.php 被我刪除了。
以下是B服務(wù)器,start_businessworker.php的配置:
當(dāng)我啟動(dòng)B服務(wù)器時(shí),出現(xiàn)報(bào)錯(cuò):Waring: Events::onMessage is not callable
并且Events.php onWorkerStart方法也沒有執(zhí)行。
以上配置是按照官網(wǎng)文檔來配置的,目前兩個(gè)服務(wù)器都能互通,用的是阿里云同一地域下的服務(wù)器,比如B服務(wù)器使用內(nèi)網(wǎng)IP,連接A服務(wù)器的redis等都是正常的。
以上出現(xiàn)的問題應(yīng)該如何解決!
我在B服務(wù)器start_businessworker.php 中補(bǔ)充了以下代碼,可以執(zhí)行Events.php中的方法了,但是又遇到了通信問題。
require_once __DIR__ . '/Events.php';
$worker->eventHandler = 'Events';
public static function onWorkerStart($businessWorker)
{
if ($businessWorker->id == 0) {
echo "【0】進(jìn)程號(hào)".posix_getpid().PHP_EOL;
Gateway::sendToAll("123");
}
}