Overview
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