PDA

View Full Version : Control-M vs Quartz


ballsuen
Jul 5th, 2007, 07:05 AM
Is there any best practices regarding the use of scheduling framework? Our data centre uses Control-M for job scheduling, but I think that if all my scheduling/ job definition is based on Control-M, it would be more complex to set up a development environment.

And I understand that to submit a batch job, a GUI tool needs to be installed in the PC. :(

Will Quartz be a better approach for scheduling? Can Quartz support defining job dependency?

Dave Syer
Jul 5th, 2007, 08:48 AM
Quartz doesn't have all the features of Control-M or Autosys - it is supposed to be lightweight. If you want something even more lightweight you can just use the OS (cron, at, etc.).

Simple sequential dependencies can be implemented using the job-steps model of Spring Batch. We think this is quite common. And in fact it makes it easier to correct a common mis-use of Control-M - having hundreds of jobs configured, many of which are not independent, but only depend on one other.

ballsuen
Jul 5th, 2007, 12:44 PM
Does Spring bath supports features like -

One job can depend on many jobs.
and many jobs can be triggered when another job is completed?


Another question is: for the reason of company standard, I have to use Control-M as job scheduler anyway. Do you think it would make a powerful combination to use Control-M and Spring batch together? Any reason I need to have Quartz to sit in between?

Thanks!

Dave Syer
Jul 6th, 2007, 02:48 AM
If one job depends on many others, but those others can be executed, sequentially then the initial release of Spring Batch will support this through a set of steps inside a single job. Later releases will give more options. But if the individual input jobs are truly independent of one another, it might still be better to use an external scheduling tool.

We expect a large class of users will be in your situation, and Control-M (or Autosys etc.) plus Spring Batch will be a perfectly sensible combination for all planned releases. Use Spring Batch to implement and deploy your business logic, and the other tools to trigger and manage the execution.

I don't think there is a definitive answer to the last question: I guess you might want to use Quartz where you don't need the extra features of Control-M. You certainly don't need to use Quartz if you have Control-M.

ballsuen
Jul 7th, 2007, 02:07 PM
Does Spring Batch provide some framework to support stop or pause the job while it is running?

Dave Syer
Jul 7th, 2007, 03:39 PM
We certainly support from the very first line of code stopping a job while it running. Also you can stop an execution and then restart it, which is functionally equivalent to a pause and "unpause" (or whatever you call it), but with more management information.

sotretus
Nov 12th, 2007, 09:56 AM
This is a fair question and I think the guide should provide more insight as how to integrate Spring with Control-M (or others, like CTRL-R) if anything special is required.

Regards
AB