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

Nikolay Sokolov commented on GRIFFIN-200:
-----------------------------------------

I've checked out JobListeners in Livy, these guarantees they provide:
 - multiple listeners
 - listeners are just interfaces, so can be synchronous
 - exceptions are not swallowed, but interface does not declare exceptions to 
be thrown

> Lifecycle hooks support
> -----------------------
>
>                 Key: GRIFFIN-200
>                 URL: https://issues.apache.org/jira/browse/GRIFFIN-200
>             Project: Griffin (Incubating)
>          Issue Type: New Feature
>            Reporter: Nikolay Sokolov
>            Assignee: William Guo
>            Priority: Minor
>
> In some environments, users might want to perform certain actions 
> before/after job is created, before/after job is activated, before/after job 
> is deleted, and so on.
> To fullfill that need, some hook plugin mechanism can be provided, similar to 
> what Hive is doing. User would place respective jar files into Service module 
> classpath at deployment time, and would specify class names using some 
> annotation or using property listing class names (particular mechanism is yet 
> to be determined).
> Proposed signature:
> {code:none}
> public interface JobLifecycleHook {
>     void beforeAddJob(AbstractJob js) throws Exception;
>     void afterAddJob(AbstractJob js) throws Exception;
>     void beforeOnAction(AbstractJob job, String action) throws Exception;
>     void afterOnAction(AbstractJob job, String action) throws Exception;
>     void beforeDeleteJob(AbstractJob job) throws Exception;
>     void afterDeleteJob(AbstractJob job) throws Exception;
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to