我正在使用openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
API运行可执行文件。
我还设置了超时,因为可执行文件在subprocess.Popen
调用中可能挂起或花费太长时间。问题在于,在负载较重的服务器上,运行似乎经常超时。我认为这是因为当我并行运行多个进程时,它没有获得足够的CPU时间。
我可以增加超时时间,但是这是一个滑坡,因为计算机可能会变得越来越重(用作Jenkins服务器)。
communicate
是否有一种方法可以重构此方法,而不是测量为此分配给进程的CPU时间和超时?
我看到了一些提示process = subprocess.Popen(cmd, stdout=log, stderr=log, ...)
process.communicate(timeout=timeout)
的问题。但是我不确定这对我有用。