控制台在启动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
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚定义"端点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;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
该cro
开发工具会自动选择为每个服务要求它运行的每个端点的自由港.当存在多个服务并且它们之间具有指定的链接时,它还通过环境变量将所选端口注入到依赖服务.这使得可以设置一组可以通过环境变量配置其端口的服务,然后cro run
为每个服务分配一个端口并传播该信息,以便服务可以相互通信.
该消息指示自动选择了哪个端口号.但是,由于服务脚本无论如何都会覆盖它们,因此它没有任何效果.要禁用此功能并删除该消息,请删除.cro.yml文件中的端点列表条目.
如果希望将端口硬编码到服务脚本中,那么使用constant
而不是使用它来声明它们可能更容易%*ENV
.
归档时间: |
|
查看次数: |
114 次 |
最近记录: |