[ https://issues.apache.org/jira/browse/TWILL-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107646#comment-16107646 ]
ASF GitHub Bot commented on TWILL-240: -------------------------------------- Github user chtyim commented on a diff in the pull request: https://github.com/apache/twill/pull/58#discussion_r130407224 --- Diff: twill-api/src/main/java/org/apache/twill/api/EventHandler.java --- @@ -124,6 +124,74 @@ public void initialize(EventHandlerContext context) { } /** + * Invoked by the application when it starts. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + */ + public void started(String twillAppName, RunId runId) { + // No-op + } + + /** + * Invoked by the application when new container is launched for {@link TwillRunnable}. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + * @param runnableName name of the runnable to be run in the new container + * @param instanceId the instance ID of the runnable instance to be run in the new container + * @param containerId the ID of the newly launched container + */ + public void containerLaunched(String twillAppName, RunId runId, String runnableName, + int instanceId, String containerId) { + // No-op + } + + /** + * Invoked by the application when a container is stopped. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + * @param runnableName name of the runnable in the stopped container + * @param instanceId the instance ID of the runnable instance run in the stopped container + * @param containerId the ID of the stopped container + */ + public void containerStopped(String twillAppName, RunId runId, String runnableName, + int instanceId, String containerId) { + // No-op + } + + /** + * Invoked by the application when all containers complete. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + */ + public void completed(String twillAppName, RunId runId) { + // No-op + } + + /** + * Invoked by the application when stop command is received to kill the current application. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + */ + public void killed(String twillAppName, RunId runId) { + // No-op + } + + /** + * Invoked by the application when the application is aborted because of timeout. + * + * @param twillAppName name of the current application + * @param runId run ID of current application run + */ + public void aborted(String twillAppName, RunId runId) { + // No-op + } + + /** * Invoked by the application when shutting down. */ public void destroy() { --- End diff -- Can't add comment at line 206, but it's better to make the `launchTimeout` method non-abstract. > Improve EventHandler to handle more application lifecycle events > ---------------------------------------------------------------- > > Key: TWILL-240 > URL: https://issues.apache.org/jira/browse/TWILL-240 > Project: Apache Twill > Issue Type: New Feature > Reporter: Chengfeng Mao > Assignee: Chengfeng Mao > > Application Master should be able to run application specific code when > certain lifecycle events happen by calling methods from EventHandler. For > instance, when the app first starts, completes, aborts and etc. -- This message was sent by Atlassian JIRA (v6.4.14#64029)