对于一些背景知识,我们已经将Trino服务器作为CI设置的一部分,当服务器仍在添加所有目录时,测试目前会失败。目前,我已经将配置项设置为重试这个curl命令,但它不会等到服务器完全启动。
docker run appropriate/curl --retry 60 --retry-delay 1 --retry-connrefused http://trino:8080/发布于 2021-06-04 11:14:20
为了检查Trino服务器是否仍在初始化,您可以通过连接到协调器来查询有关集群的信息。您可以在以下命令中查看有关集群的信息。
docker run appropriate/curl --retry 60 --retry-delay 1 --retry-connrefused http://trino:8080/v1/info根据服务器的状态,它将返回类似以下JSON的内容。
{
"nodeVersion": {
"version": "358"
},
"environment": "test",
"coordinator": true,
"starting": false,
"uptime": "7.56m"
}您可以使用$.starting JSON字段来确定服务器是否处于活动状态并准备好进行查询。这里提供了一个简单的ruby脚本,它可以在给予之前尝试60次。
cat <<"RUBY" | ruby
60.times do
exit if `docker run appropriate/curl http://trino:8080/v1/info | jq .starting`.strip == 'false'
sleep 1
end
exit!
RUBYhttps://stackoverflow.com/questions/67831049
复制相似问题