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

Bala Nathan edited comment on LENS-124 at 7/31/15 12:32 PM:
------------------------------------------------------------

I've attached a pdf containing high level design and API contracts for 
scheduler. This is first draft. Please review and let me know your suggestions. 
On a high level, here's the proposal:

  - Support for Abstract Scheduler - More so like a scheduler execution engine 
specification. Quartz Scheduler will extend the Abstract Scheduler. There can 
be other implementations to the abstract scheduler too (akka or something else)

  - Schedule - Schedule Object that contains the definition of what must go in 
a schedule - such as cron string, expiry time, rules etc

  - Job - A schedule supports different type of jobs such as Query Job (simple 
query), Prepared Query Job (with support for parameterized queries), Advanced 
Job (a class that implements a ScheduleJob with config injection via params)

  - Rule - A rule which returns a true/false upon evaluation. Rule could be 
complex rule which is a set of rules connected by logical operator  (or)  a 
concrete rule like data availability check

  - Subscribable - An abstract class that carries the behaviour of 
subscriptions. Any entity that has to be subscribable should extend this

  - Delivery - Various delivery mechanisms after completion of a schedule job 
instance - examples are: EMAIL, HTTPCALLBACK etc. 


was (Author: balaknathan):
I've attached a pdf containing high level design and API contracts for 
scheduler. This is first draft. Please review and let me know your suggestions. 
On a high level, here's the proposal:

1) Support for Abstract Scheduler - More so like a scheduler execution engine 
specification. Quartz Scheduler will extend the Abstract Scheduler. There can 
be other implementations to the abstract scheduler too (akka or something else)

> Add scheduler service on lens
> -----------------------------
>
>                 Key: LENS-124
>                 URL: https://issues.apache.org/jira/browse/LENS-124
>             Project: Apache Lens
>          Issue Type: New Feature
>          Components: server
>            Reporter: Amareshwari Sriramadasu
>              Labels: Hackathon-July
>         Attachments: Lens Scheduler API.pdf
>
>
> Query scheduler service should provide following services
>  * Schedule a query
>  ** Periodically
>  ** On data availability, for ex: whenever a day's data is available
>  * Look at status of scheduled query
>  ** Mostly the current run status
>  * Look at the output of scheduled query - through email?
>  * Update scheduled query
>  ** Update the query
>  ** Update the frequency
>  ** Update the configuration
>   * Look at stats of scheduled query
>   **  number of failures
>   **  number of reruns
>   **  Get handles for completed queries
>  * Cancel a scheduled query
>  * Pause and resume a scheduled query
>  *  Look at all scheduled queries



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to