cleanupExitedProcessesImpl static method

void cleanupExitedProcessesImpl(
  1. Duration exitedProcessExpireTime,
  2. Map<int, DockerProcess> processes
)

Implementation

static void cleanupExitedProcessesImpl(
    Duration exitedProcessExpireTime, Map<int, DockerProcess> processes) {
  var expireTime = exitedProcessExpireTime.inMilliseconds;
  var now = DateTime.now().millisecondsSinceEpoch;

  for (var instanceID in processes.keys.toList()) {
    var process = processes[instanceID]!;
    assert(process.instanceID == instanceID);

    var exitTime = process.exitTime;
    if (exitTime == null) continue;

    assert(process.exitCode != null);

    var exitElapsedTime = now - exitTime.millisecondsSinceEpoch;

    if (exitElapsedTime > expireTime) {
      processes.remove(instanceID);
    }
  }
}