Re: [ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-26 Thread Sahina Bose


On 11/26/2014 02:50 PM, Yaniv Dary wrote:


- Original Message -

From: "Yair Zaslavsky" 
To: "Sahina Bose" 
Cc: devel@ovirt.org
Sent: Wednesday, November 26, 2014 7:32:32 AM
Subject: Re: [ovirt-devel] Certain questions about Quartz based scheduling in   
oVirt



- Original Message -

From: "Sahina Bose" 
To: "Moti Asayag" , "Shubhendu Tripathi"

Cc: devel@ovirt.org
Sent: Tuesday, November 25, 2014 1:13:06 PM
Subject: Re: [ovirt-devel] Certain questions about Quartz based scheduling
in  oVirt


On 11/24/2014 06:27 PM, Moti Asayag wrote:

Hi Shubhendu,

- Original Message -

From: "Shubhendu Tripathi" 
To: devel@ovirt.org
Sent: Monday, November 24, 2014 8:58:34 AM
Subject: [ovirt-devel] Certain questions about Quartz based scheduling
in
oVirt

Hi All,

We are in a requirement where we need to schedule jobs at certain time
interval, hourly, daily, weekly and monthly (i.e. repetitive and cron
kind of scheduling).
I was trying to understand quartz based scheduling mechanism in oVirt to
achieve the scenarios.

Have some basic questions regarding the same -
1. Is there is mechanism to persist the scheduling data in oVirt ?

In ovirt we do not persist the jobs. The application reschedule the jobs
when it starts
and programmatically triggers jobs when required.

On packaging/services/ovirt-engine/ovirt-engine.xml.in we specify the job
store configuration
as RAMJobStore, which is a volatile:

  

You may select other implementation. See:
http://quartz-scheduler.org/api/2.2.0/org/quartz/spi/JobStore.html

Would the correct approach then be to have multiple scheduler instances?

Please bare in mind that quartz has the ability to perform
Cron like scheduling (with cron expressions).


http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

+1
I'm don't think creating a cron like ability in RHEV is needed this is why 
cron/quartz exists.
Instances for users jobs should be added independently from RHEV.


Yes, we would use the quartz cron scheduling capabilities.

The point under discussion is the job persistence - to use Quartz's DB 
persistence feature, so that we do not have to implement the logic of 
instantiating these jobs on server restart


And if we need multiple scheduler instances - one that uses the volatile 
RAMJobStore, and another that uses the persistent database job store 
(JobStoreCMT)


thanks!
sahina







1. - that uses the in memory job store

2. that uses DB to persist the jobs.

The second instance would be used to schedule and manage any dynamic
jobs, for instance like the ones required for gluster volume snapshot
scheduling

Using a separate instance also would mean there's no change to existing
jobs that are scheduled in Backend bean.



2. How to tackle edit and rescheduling of jobs ?


You can have a look at org.ovirt.engine.core.utils.timer.SchedulerUtil
interface in
the 'scheduler' project which provides that functionality, and the
related
classes.

But if not special requirements, i guess the shipped quartz
implementation
should be
enough:

http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05


Kindly guide on how to achieve these.

Thanks and Regards,
Shubhendu
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel



___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-26 Thread Yaniv Dary


- Original Message -
> From: "Yair Zaslavsky" 
> To: "Sahina Bose" 
> Cc: devel@ovirt.org
> Sent: Wednesday, November 26, 2014 7:32:32 AM
> Subject: Re: [ovirt-devel] Certain questions about Quartz based scheduling in 
> oVirt
> 
> 
> 
> - Original Message -
> > From: "Sahina Bose" 
> > To: "Moti Asayag" , "Shubhendu Tripathi"
> > 
> > Cc: devel@ovirt.org
> > Sent: Tuesday, November 25, 2014 1:13:06 PM
> > Subject: Re: [ovirt-devel] Certain questions about Quartz based scheduling
> > in  oVirt
> > 
> > 
> > On 11/24/2014 06:27 PM, Moti Asayag wrote:
> > > Hi Shubhendu,
> > >
> > > - Original Message -
> > >> From: "Shubhendu Tripathi" 
> > >> To: devel@ovirt.org
> > >> Sent: Monday, November 24, 2014 8:58:34 AM
> > >> Subject: [ovirt-devel] Certain questions about Quartz based scheduling
> > >> in
> > >>  oVirt
> > >>
> > >> Hi All,
> > >>
> > >> We are in a requirement where we need to schedule jobs at certain time
> > >> interval, hourly, daily, weekly and monthly (i.e. repetitive and cron
> > >> kind of scheduling).
> > >> I was trying to understand quartz based scheduling mechanism in oVirt to
> > >> achieve the scenarios.
> > >>
> > >> Have some basic questions regarding the same -
> > >> 1. Is there is mechanism to persist the scheduling data in oVirt ?
> > > In ovirt we do not persist the jobs. The application reschedule the jobs
> > > when it starts
> > > and programmatically triggers jobs when required.
> > >
> > > On packaging/services/ovirt-engine/ovirt-engine.xml.in we specify the job
> > > store configuration
> > > as RAMJobStore, which is a volatile:
> > >
> > >   > >  value="org.quartz.simpl.RAMJobStore"/>
> > >
> > > You may select other implementation. See:
> > > http://quartz-scheduler.org/api/2.2.0/org/quartz/spi/JobStore.html
> > 
> > Would the correct approach then be to have multiple scheduler instances?
> 
> Please bare in mind that quartz has the ability to perform
> Cron like scheduling (with cron expressions).
> 
> 
> http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

+1 
I'm don't think creating a cron like ability in RHEV is needed this is why 
cron/quartz exists. 
Instances for users jobs should be added independently from RHEV. 

> 
> 
> 
> > 
> > 1. - that uses the in memory job store
> > 
> > 2. that uses DB to persist the jobs.
> > 
> > The second instance would be used to schedule and manage any dynamic
> > jobs, for instance like the ones required for gluster volume snapshot
> > scheduling
> > 
> > Using a separate instance also would mean there's no change to existing
> > jobs that are scheduled in Backend bean.
> > 
> > 
> > >
> > >> 2. How to tackle edit and rescheduling of jobs ?
> > >>
> > > You can have a look at org.ovirt.engine.core.utils.timer.SchedulerUtil
> > > interface in
> > > the 'scheduler' project which provides that functionality, and the
> > > related
> > > classes.
> > >
> > > But if not special requirements, i guess the shipped quartz
> > > implementation
> > > should be
> > > enough:
> > >
> > > http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05
> > >
> > >> Kindly guide on how to achieve these.
> > >>
> > >> Thanks and Regards,
> > >> Shubhendu
> > >> ___
> > >> Devel mailing list
> > >> Devel@ovirt.org
> > >> http://lists.ovirt.org/mailman/listinfo/devel
> > >>
> > > ___
> > > Devel mailing list
> > > Devel@ovirt.org
> > > http://lists.ovirt.org/mailman/listinfo/devel
> > 
> > ___
> > Devel mailing list
> > Devel@ovirt.org
> > http://lists.ovirt.org/mailman/listinfo/devel
> > 
> ___
> Devel mailing list
> Devel@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-25 Thread Yair Zaslavsky


- Original Message -
> From: "Sahina Bose" 
> To: "Moti Asayag" , "Shubhendu Tripathi" 
> 
> Cc: devel@ovirt.org
> Sent: Tuesday, November 25, 2014 1:13:06 PM
> Subject: Re: [ovirt-devel] Certain questions about Quartz based scheduling in 
> oVirt
> 
> 
> On 11/24/2014 06:27 PM, Moti Asayag wrote:
> > Hi Shubhendu,
> >
> > - Original Message -
> >> From: "Shubhendu Tripathi" 
> >> To: devel@ovirt.org
> >> Sent: Monday, November 24, 2014 8:58:34 AM
> >> Subject: [ovirt-devel] Certain questions about Quartz based scheduling in
> >>oVirt
> >>
> >> Hi All,
> >>
> >> We are in a requirement where we need to schedule jobs at certain time
> >> interval, hourly, daily, weekly and monthly (i.e. repetitive and cron
> >> kind of scheduling).
> >> I was trying to understand quartz based scheduling mechanism in oVirt to
> >> achieve the scenarios.
> >>
> >> Have some basic questions regarding the same -
> >> 1. Is there is mechanism to persist the scheduling data in oVirt ?
> > In ovirt we do not persist the jobs. The application reschedule the jobs
> > when it starts
> > and programmatically triggers jobs when required.
> >
> > On packaging/services/ovirt-engine/ovirt-engine.xml.in we specify the job
> > store configuration
> > as RAMJobStore, which is a volatile:
> >
> >   >  value="org.quartz.simpl.RAMJobStore"/>
> >
> > You may select other implementation. See:
> > http://quartz-scheduler.org/api/2.2.0/org/quartz/spi/JobStore.html
> 
> Would the correct approach then be to have multiple scheduler instances?

Please bare in mind that quartz has the ability to perform
Cron like scheduling (with cron expressions).


http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger



> 
> 1. - that uses the in memory job store
> 
> 2. that uses DB to persist the jobs.
> 
> The second instance would be used to schedule and manage any dynamic
> jobs, for instance like the ones required for gluster volume snapshot
> scheduling
> 
> Using a separate instance also would mean there's no change to existing
> jobs that are scheduled in Backend bean.
> 
> 
> >
> >> 2. How to tackle edit and rescheduling of jobs ?
> >>
> > You can have a look at org.ovirt.engine.core.utils.timer.SchedulerUtil
> > interface in
> > the 'scheduler' project which provides that functionality, and the related
> > classes.
> >
> > But if not special requirements, i guess the shipped quartz implementation
> > should be
> > enough:
> >
> > http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05
> >
> >> Kindly guide on how to achieve these.
> >>
> >> Thanks and Regards,
> >> Shubhendu
> >> ___
> >> Devel mailing list
> >> Devel@ovirt.org
> >> http://lists.ovirt.org/mailman/listinfo/devel
> >>
> > ___
> > Devel mailing list
> > Devel@ovirt.org
> > http://lists.ovirt.org/mailman/listinfo/devel
> 
> ___
> Devel mailing list
> Devel@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-25 Thread Sahina Bose


On 11/24/2014 06:27 PM, Moti Asayag wrote:

Hi Shubhendu,

- Original Message -

From: "Shubhendu Tripathi" 
To: devel@ovirt.org
Sent: Monday, November 24, 2014 8:58:34 AM
Subject: [ovirt-devel] Certain questions about Quartz based scheduling in   
oVirt

Hi All,

We are in a requirement where we need to schedule jobs at certain time
interval, hourly, daily, weekly and monthly (i.e. repetitive and cron
kind of scheduling).
I was trying to understand quartz based scheduling mechanism in oVirt to
achieve the scenarios.

Have some basic questions regarding the same -
1. Is there is mechanism to persist the scheduling data in oVirt ?

In ovirt we do not persist the jobs. The application reschedule the jobs when 
it starts
and programmatically triggers jobs when required.

On packaging/services/ovirt-engine/ovirt-engine.xml.in we specify the job store 
configuration
as RAMJobStore, which is a volatile:

 

You may select other implementation. See:
http://quartz-scheduler.org/api/2.2.0/org/quartz/spi/JobStore.html


Would the correct approach then be to have multiple scheduler instances?

1. - that uses the in memory job store

2. that uses DB to persist the jobs.

The second instance would be used to schedule and manage any dynamic 
jobs, for instance like the ones required for gluster volume snapshot 
scheduling


Using a separate instance also would mean there's no change to existing 
jobs that are scheduled in Backend bean.






2. How to tackle edit and rescheduling of jobs ?


You can have a look at org.ovirt.engine.core.utils.timer.SchedulerUtil 
interface in
the 'scheduler' project which provides that functionality, and the related 
classes.

But if not special requirements, i guess the shipped quartz implementation 
should be
enough:

http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05


Kindly guide on how to achieve these.

Thanks and Regards,
Shubhendu
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-24 Thread Moti Asayag
Hi Shubhendu,

- Original Message -
> From: "Shubhendu Tripathi" 
> To: devel@ovirt.org
> Sent: Monday, November 24, 2014 8:58:34 AM
> Subject: [ovirt-devel] Certain questions about Quartz based scheduling in 
> oVirt
> 
> Hi All,
> 
> We are in a requirement where we need to schedule jobs at certain time
> interval, hourly, daily, weekly and monthly (i.e. repetitive and cron
> kind of scheduling).
> I was trying to understand quartz based scheduling mechanism in oVirt to
> achieve the scenarios.
> 
> Have some basic questions regarding the same -
> 1. Is there is mechanism to persist the scheduling data in oVirt ?

In ovirt we do not persist the jobs. The application reschedule the jobs when 
it starts
and programmatically triggers jobs when required.

On packaging/services/ovirt-engine/ovirt-engine.xml.in we specify the job store 
configuration
as RAMJobStore, which is a volatile:



You may select other implementation. See:
http://quartz-scheduler.org/api/2.2.0/org/quartz/spi/JobStore.html

> 2. How to tackle edit and rescheduling of jobs ?
> 

You can have a look at org.ovirt.engine.core.utils.timer.SchedulerUtil 
interface in 
the 'scheduler' project which provides that functionality, and the related 
classes.

But if not special requirements, i guess the shipped quartz implementation 
should be
enough:

http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05

> Kindly guide on how to achieve these.
> 
> Thanks and Regards,
> Shubhendu
> ___
> Devel mailing list
> Devel@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel