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.