Quartz is a pure Erlang library for dealing with timers and scheduling that can be integrated to virtually any existing application.
It’s a scalable alternative to the standard erlang timer module with a compatible enhanced interface like namespaces and schedules.
Scheduling is a powerful feature of Quartz that gives you the ability to specify when to start a given job in a manner similar to the
popular Unix CRON and AT commands.
If you’re familiar with crontab and the like, then you’re in a known territory. Otherwise, it’s pretty easy to get started.
Quartz embraces the OTP design principles and can be plugged easily in any supervision tree with no dependency but
Mnesia (shipped with Erlang).
Finally, Quartz has been tested and is known to run on Windows, Linux, and Mac OS X ... 32/64-bit.
It will likely work fine on most UNIX systems too.
Immediate benefits for your programs are:
  • Easy to use API
  • Support timer namespaces
  • Shortcuts to save time schedules
  • Timespecs UNION concept to avoid job duplication due to overlaps
  • Handle large number of timers (>10‘000 per namespace)
  • Provide all CRON’s features plus advanced scheduling capabilities
  • Unlike CRON’s 1-minute resolution, Quartz provides 1-second resolution
  • Portable on any operating systems

erlang logo