in frontend/server/src/main/java/com/amazonaws/ml/mms/wlm/WorkerLifeCycle.java [237:271]
public void run() {
try (Scanner scanner = new Scanner(is, StandardCharsets.UTF_8.name())) {
while (isRunning.get() && scanner.hasNext()) {
String result = scanner.nextLine();
if (result == null) {
break;
}
if (result.startsWith("[METRICS]")) {
loggerModelMetrics.info("{}", Metric.parse(result.substring(9)));
continue;
}
if ("MMS worker started.".equals(result)) {
lifeCycle.setSuccess(true);
} else if (result.startsWith("[PID]")) {
lifeCycle.setPid(Integer.parseInt(result.substring("[PID] ".length())));
}
if (error) {
logger.warn(result);
} else {
logger.info(result);
}
}
} catch (Exception e) {
logger.error("Couldn't create scanner - {}", getName(), e);
} finally {
logger.info("Stopped Scanner - {}", getName());
lifeCycle.setSuccess(false);
try {
is.close();
} catch (IOException e) {
logger.error("Failed to close stream for thread {}", this.getName(), e);
}
}
}