"Cro Endpoint HTTP" 应该在哪里定义?
Where should "Cro Endpoint HTTP" be defined?
控制台在启动 cro ('cro run') 后显示此消息:
▶ Starting JoanPujol (JoanPujol)
**Endpoint HTTP will be at http://localhost:20000/**
JoanPujol Listening at http://localhost:3000
JoanPujol Shutting down...
♻ Restarting JoanPujol (JoanPujol)
JoanPujol Listening at http://localhost:3000
我无法弄清楚 "Endpoint HTTP" 的定义位置。这是我的'service.p6':
use Cro::HTTP::Log::File;
use Cro::HTTP::Server;
use Routes;
constant HOST = 'localhost';
constant PORT = 3000;
my Cro::Service $http = Cro::HTTP::Server.new(
:http<1.1>,
host => HOST,
port => PORT,
application => routes(),
after => [
Cro::HTTP::Log::File.new(logs => $*OUT, errors => %*ERR)
]
);
$http.start;
say "Listening at http://{HOST}:{PORT}";
react {
whenever signal(SIGINT) {
say "Shutting down...";
$http.stop;
done;
}
}
谢谢!
cro
开发工具会自动为每个服务中的每个端点选择一个空闲端口 运行。当有多个服务并且它们之间指定了链接时,它还会通过环境变量将选定的端口注入到相关服务中。这使得设置一堆可以通过环境变量配置端口的服务成为可能,然后 cro run
为每个服务分配一个端口并传播该信息,以便服务可以相互通信.
该消息表明自动选择了哪个端口号。但是,由于服务脚本只是覆盖了那些,所以它没有任何效果。要禁用此功能并删除消息,remove the endpoint list entry in the .cro.yml file.
如果希望将端口硬编码到服务脚本中,那么使用 constant
声明它们可能比使用 %*ENV
.
更容易
控制台在启动 cro ('cro run') 后显示此消息:
▶ Starting JoanPujol (JoanPujol)
**Endpoint HTTP will be at http://localhost:20000/**
JoanPujol Listening at http://localhost:3000
JoanPujol Shutting down...
♻ Restarting JoanPujol (JoanPujol)
JoanPujol Listening at http://localhost:3000
我无法弄清楚 "Endpoint HTTP" 的定义位置。这是我的'service.p6':
use Cro::HTTP::Log::File;
use Cro::HTTP::Server;
use Routes;
constant HOST = 'localhost';
constant PORT = 3000;
my Cro::Service $http = Cro::HTTP::Server.new(
:http<1.1>,
host => HOST,
port => PORT,
application => routes(),
after => [
Cro::HTTP::Log::File.new(logs => $*OUT, errors => %*ERR)
]
);
$http.start;
say "Listening at http://{HOST}:{PORT}";
react {
whenever signal(SIGINT) {
say "Shutting down...";
$http.stop;
done;
}
}
谢谢!
cro
开发工具会自动为每个服务中的每个端点选择一个空闲端口 运行。当有多个服务并且它们之间指定了链接时,它还会通过环境变量将选定的端口注入到相关服务中。这使得设置一堆可以通过环境变量配置端口的服务成为可能,然后 cro run
为每个服务分配一个端口并传播该信息,以便服务可以相互通信.
该消息表明自动选择了哪个端口号。但是,由于服务脚本只是覆盖了那些,所以它没有任何效果。要禁用此功能并删除消息,remove the endpoint list entry in the .cro.yml file.
如果希望将端口硬编码到服务脚本中,那么使用 constant
声明它们可能比使用 %*ENV
.