[
https://issues.apache.org/jira/browse/TWILL-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16108172#comment-16108172
]
ASF GitHub Bot commented on TWILL-240:
--------------------------------------
Github user maochf commented on a diff in the pull request:
https://github.com/apache/twill/pull/58#discussion_r130491020
--- 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 --
what should be the default action of `launchTimeout`?
> 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)