class NodeWorker implements Runnable {

    private final NodeManager nodeManager;

    private final EruptCloudServerProp eruptCloudServerProp;

    @PostConstruct
    public void postConstruct() {
        Executors.newScheduledThreadPool(1).scheduleAtFixedRate(this, 0,
                eruptCloudServerProp.getNodeSurviveCheckTime(), TimeUnit.MILLISECONDS);
    }

    @SneakyThrows
    @Override
    public void run() {<FILL_FUNCTION_BODY>}

}

        for (MetaNode node : nodeManager.findAllNodes()) {
            if (node.getLocations().removeIf(location ->
                    !CloudServerUtil.retryableNodeHealth(node.getNodeName(),
                            location, 2, 200))) {
                nodeManager.putNode(node);
            }
        }
    
<no_super_class>