private void monitorScanQueue() { log("Monitoring scanQueue, waiting for spider to complete"); try { while (!scanQueueItems.isEmpty()) { scanQueueItems.removeIf(scanQueueItem -> 100 == scanQueueItem.getPercentageComplete()); log(scanQueueItems.size() + " remaining items in scan queue at " + Instant.now()); Thread.yield(); Thread.sleep(5000); } while (Instant.now().isBefore(lastRequestTime.plusSeconds(10))) { Thread.yield(); Thread.sleep(5000); } } catch (Exception e) { log("Error when monitoring scan queue: " + getStackTraceAsString(e)); callbacks.exitSuite(false); } log("Scanning complete at " + Instant.now()); }
scanQueueItems.removeIf(item -> { log.info(item.getStatus()); return item.getPercentageComplete() == 100; });