Why Obsidian?

Easy-to-use and powerful

Obsidian is easy-to-use and very powerful, meaning it works well whether you have demanding needs for load-sharing and fail-over or you simply want to take advantage of simple, efficient development and testing of your jobs. The advanced configuration options exposed in both the Administration UI and the REST API save hours of headaches for Obsidian users, including developers, administrators, and support teams.

Integrates easily with any Java application or other JVM-based language

It is targeted for the Java platform and integrates with any Java application or other JVM-based languages as an embedded or standalone process. The full administration console helps developers avoid spending time fighting with installation and deployment issues. See our website for full details and feel free to drop us a line or leave a comment.

Obsidian Scheduler has given our system support team a user friendly way to manage and run processes as needed. 

Nivardo M
California, USA

Trusted by companies worldwide.

Our happy customers range from non-profits to Fortune 500 corporations.

Many of our customers are happy using the free single-node installation, while others make use of Obsidian’s reliable clustering and fail-over.

Above the competition

We believe that Obsidian Scheduler is the best choice for most scheduling needs. Obsidian is designed for both simple or complex scheduling requirements, so see for yourself how it stacks up against the competition.

Obsidian excels in subjective measures

In addition to the features listed below, Obsidian stands out in simplicity of job development, ramp-up time, reliability and ease-of-use.

See how Obsidian compares to Quartz and other schedulers.

Real-time schedule changes[1][2][2] 
Real-time job configuration[3][2][2] 
No-code, no-xml job configuration   [4]
Spring Framework support    
Job event subscription/notification [2][2] 
Custom job listeners    
Monitoring & management UI[5]   
Ad-hoc job submission  [2] 
Job chaining[6][2][2] 
Zero-configuration load sharing, clustering & failover [7]  
Provides execution context/container[8]   
Job execution host affinity    
Scheduling precisionMinuteSecondMinuteSecond
Job scheduling & management REST API    
Configurable job conflicts[9]   
Java jobs    
Scripting language support[10]   
Custom calendar support    
Cluster support[11][12]  
Backup/restore exports    


  1. With Obsidian you can even “schedule” a runtime schedule change. For example, change a job currently running on the hour to begin running at half past the hour beginning tomorrow or next week.
  2. Library does not support this out of the box. Additional code is required to interact with the API, and an execution context would be required to do so.
  3. Allows for real-time modifications such as enabling and disabling jobs, runtime parameter addition, removal or modification, change the recovery mode, etc.
  4. At best, it still requires addition of annotations to your code base.
  5. Supports access thresholds corresponding to super users, standard operators and read-only access for developers and support staff.
  6. Conditional chaining based on output also supported.
  7. No out-of-the-box support. Requires additional setup and configuration.
  8. This is part of what enables Obsidian to allow such interactivity and visibility to the scheduling environment.
  9. Supports specifying execution priority of conflicted jobs.
  10. Groovy, Python, Javascript, Beanshell and Ruby natively supported.
  11. First node free, additional nodes available at an additional cost.
  12. Requires configuration of JDBC-JobStore.

Comments are closed.