gpt4 book ai didi

java - 减慢代码速度?

转载 作者:行者123 更新时间:2023-11-30 06:24:16 25 4
gpt4 key购买 nike

当我启动 Docker 时,它会生成日志(基本上是文本)。我的问题是它验证速度太快以至于无法捕获日志并且frames.size为0。但是如果我调试代码。它返回大小> 0。所以我猜它太快了,我需要放慢代码速度。

如何才能运行该函数一段时间?或者启动后执行 x 毫秒?

 dockerClient.startContainerCmd(environmentName).exec();
// I need to slow down here I think.
List<Frame> frames = DockerLogs.getDockerLogs(dockerClient,container.getId());
//remove after
dockerClient.removeContainerCmd(environmentName).exec();




public static List<Frame> getDockerLogs(DockerClient dockerClient,String containerID) throws InterruptedException {

List<Frame> frames = new ArrayList<>();

dockerClient.logContainerCmd(containerID)
.withStdOut(true)
.withTailAll()
.exec(new LogContainerResultCallback() {
@Override
public void onNext(Frame item) {
frames.add(item);
super.onNext(item);
}
@Override
public void onComplete() {
super.onComplete();
}
}).awaitCompletion();

return frames;
}

最佳答案

DockerLogs.getDockerLogs() 似乎是 asynch(),所以无论你如何引入延迟,你都不会得到预期的结果,延迟本身也不是一个好主意。无论您决定使用什么“等待时间”,都可能会出现不充分的情况。

相反,尝试遵循 docker 的异步模式并提供第二个回调来执行清理 (removeContainerCmd)。基本上你无法知道它何时完成,因为对 log 的调用会立即返回

关于java - 减慢代码速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com