[
https://issues.apache.org/jira/browse/GRIFFIN-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16652822#comment-16652822
]
Eugene commented on GRIFFIN-200:
--------------------------------
[~chemikadze]
thanks for your clarification here. I know the use case you mentioned.
you propose in the previous comment 'Updated potential interface of the hook to
have single universal method with different event subtypes', I agree with you.
so if we use event as type flag, do we need more listeners? maybe one general
interface could handle all listener outside.
about synchronous and asynchronous interface, I conclude my idea based on
common rule applying in distributed system, where asynchronous often is used
more than synchronous.
> 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)