hi Nick,

I agree with you we need to have some lifecycle hooks for jobs.

No matter which extension mechanism we choose at runtime,
but we can always abstract common lifecycle interfaces, and implements
different solutions for different environments.

Say, at runtime someone can configure griffin extension mechanism as
'Hive-style' and others can configure as spring integration model.

We cannot decide which one is super than other, but we can implement
multiply solutions and let users decide at deployment time?

What do you think?

Thanks,
William



On Fri, Oct 19, 2018 at 2:03 PM Nick Sokolov <[email protected]> wrote:

> Hi all,
>
> I'd like invite the community to discussion of Job object lifecycle hooks
> design (GRIFFIN-200 <https://issues.apache.org/jira/browse/GRIFFIN-200>).
>
> On a high level, idea is to have hooks executed triggered by JobService
> before/after job is created, or before/after job is deleted, and so on.
> Main point is to provide extension mechanism for JobService, allowing
> third-party implementations of following features:
>
>    - validating naming conventions on the jobs
>    - validating cron schedules (whether job is scheduled "not too
>    frequently")
>    - creating dashboards for each new job and/or alerts in third-party
>    system (Grafana, Elastalert)
>    - RBAC implementation (Hive-style, as plugin)
>    - disabling alerts in third-party system if job is paused
>
> Right now several aspects are to be decided:
>
>    1. particular extention mehanism (POJO interface implementations
>    ("Hive-style"), or Spring-Integration, etc)
>    2. whether only one or multiple hooks could be configured at same time
>    3. execution model: whether they should run synchronously, or
>    asynchronously; sequentially, or in parallel
>
> Ticket already has some discussion going, so inviting everyone to Jira
> ticket, to avoid having same conversation in two places.
>

Reply via email to