[ 
https://issues.apache.org/jira/browse/GRIFFIN-200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikolay Sokolov updated GRIFFIN-200:
------------------------------------
    Description: 
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 onJobEvent(JobLifecycleEvent event) throws Exception;
}
public class BeforeJobCreated implements JobLifecycleEvent { ... }
public class AfterJobCreated implements JobLifecycleEvent { ... }
public class BeforeJobDeleted implements JobLifecycleEvent { ... }
public class AfterJobDeleted implements JobLifecycleEvent { ... }
{code}

  was:
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}


> 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 onJobEvent(JobLifecycleEvent event) throws Exception;
> }
> public class BeforeJobCreated implements JobLifecycleEvent { ... }
> public class AfterJobCreated implements JobLifecycleEvent { ... }
> public class BeforeJobDeleted implements JobLifecycleEvent { ... }
> public class AfterJobDeleted implements JobLifecycleEvent { ... }
> {code}



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

Reply via email to