4

I have an application that requires batch job scheduling on the order of maybe 100 jobs per day. I do not require (yet) that the jobs be chained together: right now each is independent of the others.

Here is what I require:

  1. The schedule (which jobs will run when) must be viewable and editable via a web-UI. The UI must give us the ability to control the periodic schedule, plus manually submit adhoc jobs and restart failed jobs.
  2. The schedule must be persistent, so that if there is a server outage, the jobs that were missed during the outage can be automatically launched when the server is restored (or not launched -- want it to be configurable by job).
  3. Ideally, the scheduler would be embeddable -- lightweight and able to run in the same JVM as the actual jobs that it launches.
  4. Ideally it would be open-source / a no cost license.

If it matters, the actual jobs to be launched are Spring Batch jobs.

I've looked (briefly) at Quartz, but it does not seem to have a UI. Obsidian seems to cost money.

Can anyone point me in the right direction and/or give me some things to avoid?

Thanks!

  • 1
    Matthew, can you update your question to explain why the half-dozen open source GUIs for Quartz turned up by googling for "quartz scheduler gui open source" aren't appropriate for your needs? I've never used any of them, but it looks like the problem has been investigated before. – CPerkins Nov 21 '17 at 15:24
  • @CPerkins I can't say they aren't appropriate. If I Google "open source build tools" I'll get a bunch of hits too. Being uneducated, I'd be grateful for someone to advise me to start with Maven or Gradle. I'm uneducated about the open source space for GUI schedulers, so I'm asking for guidance. I did look at a few of the ones that are out there, but I encountered light documentation, broken links, etc that made me nervous. So, I asked for help. But Quartz + an open source GUI front end would be just fine by me, if someone could recommend a good one. – Matthew McPeak Nov 21 '17 at 15:47
  • Okay, I assumed you'd tried them and found them wanting and I wondered why. Good luck. – CPerkins Nov 22 '17 at 17:51
2

Even tough it is not what is intended for (continuous integration server), Jenkins might work for your goal:

  • it works on the JVM, is easy to install, with no dependencies.
  • it allows you to define jobs with different kind of execution steps
  • executions can be scheduled using cron like expressions or executed manually
  • all configuration is persisted on file syatem
  • it supports pipeline composition

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.