package io.lumify.yarn; import com.beust.jcommander.JCommander; import io.lumify.core.util.LumifyLogger; import io.lumify.core.util.LumifyLoggerFactory; import org.apache.hadoop.yarn.api.records.ContainerExitStatus; public abstract class TaskBase { private static final LumifyLogger LOGGER = LumifyLoggerFactory.getLogger(TaskBase.class); public final void run(String[] args) { new JCommander(this, args); ClientBase.printEnv(); try { LOGGER.info("BEGIN Run"); run(); LOGGER.info("END Run"); System.exit(ContainerExitStatus.SUCCESS); } catch (Throwable ex) { LOGGER.info("FAILED Run", ex); System.exit(1); } } protected abstract void run(); }