添加命名空间和服务名称变量

This commit is contained in:
小王 2024-09-14 11:25:34 +08:00
parent ccc23f40e7
commit 67efa197ea
2 changed files with 11 additions and 5 deletions

View File

@ -35,6 +35,8 @@ services:
|`NACOS_ADDR`| nacos注册地址 |`192.168.1.105:8848` |*|
|`SERVICE_PORT`| 指定外部可以向内访问的端口 |`8000`|*|
|`ORIGIN_URL`| 允许跨域的网址 |`{docker容器内ip}:8000`|-|
|`NAMESPACE_ID`| 要注册NACOS命名空间 |`0a1c32f2-dea1-4ec1-b546-cb4635cd7db2`|-|
|`SERVICE_NAME`| 微服务名称 |`zeroerroa-file`|-|
内部暴露的端口
-

View File

@ -16,13 +16,17 @@ $nacosAddr = $env->get('NACOS_ADDR', '192.168.1.105:8848');
$serviceAddr = $env->get('SERVER_ADDR');
// 服务暴露的端口
$servicePort = $env->get('SERVICE_PORT', 8000);
// 命名空间变量
$namespaceId = $env->get('NAMESPACE_ID', '0a1c32f2-dea1-4ec1-b546-cb4635cd7db2');
// 服务名称
$serviceName = $env->get('SERVICE_NAME', 'zeroerroa-file');
$task = new Worker();
// 定时触发邮件发送任务
// 开启多少个进程运行定时任务,注意业务是否在多进程有并发问题
$task->count = 1;
$task->onWorkerStart = function(Worker $task) use ($serviceAddr, $servicePort, $nacosAddr)
$task->onWorkerStart = function(Worker $task) use ($serviceAddr, $servicePort, $nacosAddr, $namespaceId, $serviceName)
{
$client = new Client([
// nacos地址
@ -30,14 +34,14 @@ $task->onWorkerStart = function(Worker $task) use ($serviceAddr, $servicePort, $
"timeout" => 5
]);
// 心跳检测每8秒执行一次
Timer::add(8, function() use ($client, $serviceAddr, $servicePort)
Timer::add(8, function() use ($client, $serviceAddr, $servicePort, $namespaceId, $serviceName)
{
$client->request("put", "/nacos/v1/ns/instance/beat", [
"form_params" => [
"serviceName" => "zeroerroa-file",
"serviceName" => $serviceName,
"ip" => $serviceAddr,
"port" => $servicePort,
"namespaceId" => "0a1c32f2-dea1-4ec1-b546-cb4635cd7db2",
"namespaceId" => $namespaceId,
"groupName" => "DEFAULT_GROUP",
"beat" => '{
"cluster": "DEFAULT",
@ -45,7 +49,7 @@ $task->onWorkerStart = function(Worker $task) use ($serviceAddr, $servicePort, $
"metadata": {},
"port": "' . $servicePort . '",
"scheduled": true,
"serviceName": "zeroerroa-file",
"serviceName": ' . $serviceName . '",
"weight": 1
}'
],