From Obsidian Scheduler
Revision as of 20:42, 17 April 2015 by Carfey (talk | contribs) (→‎Enterprise Features)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Obsidian is Carfey Software's Java-based scheduling tool.

It takes the power and expressiveness of Cron and combines it with enterprise-class features like load-balancing, failover and conflict prioritization.

See the User Guide for details of each feature.


Obsidian replaces tools like Cron and other popular task schedulers by taking the basic features in a scheduler and adding full management capabilities, workflow, conflict resolution, native load-balancing and failover. Multiple nodes cooperate in job scheduling and execution by using a common database.

It is a Java-based application, and can be run standalone or embedded within a Java process. It can be used to execute jobs in various languages, including Java, Python, shell scripts, and more.

Jobs can be configured and managed from within the administration console, using the REST API or Embedded API, and allow cron-style job patterns, schedule windows and advanced parameterization.

Basic Features

  • Cron-style patterns are used for job scheduling.
  • A full job management REST API and Embedded API are included.
  • Seamless Spring integration.
  • Fully-featured administration and monitoring web application.
  • Notifications and logging of scheduler events and failures.
  • Job configuration can be changed at any time - no restarts or rebuilds.
  • One simple Java interface to implement to make a job compatible with Obsidian.
  • Schedule windows allow you to have future schedule changes (disable a job or change its runtime schedule).
  • Job parameterization allows for multiple instances of jobs with different configurations.
  • Jobs that need to be terminated can be interrupted easily.
  • Failed jobs can be resubmitted.
  • Submit one-time runs for jobs.

Enterprise Features

  • Obsidian instances automatically cooperate to perform load-balancing and provide failover.
  • Even with a single node license, a second node may be running in standby to automatically pick up if its peer dies.
  • Job conflicts can be configured to provide automatic job prioritization and conflict resolution.
  • Jobs may be chained to others based on various conditions to provide job workflow support.
  • Floating node licenses allow flexibility and choice to users.