[ 
https://issues.apache.org/jira/browse/TWILL-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113159#comment-16113159
 ] 

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_r131208560
  
    --- 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 --
    
    continue, with the recheck time to some hardcode constant (say 60 seconds).


> 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)

Reply via email to