Chronos is a replacement for
cron. It is a distributed and fault-tolerant scheduler that runs on top of Apache Mesos that can be used for job orchestration. It supports custom Mesos executors as well
as the default command executor. Thus by default, Chronos executes
(on most systems bash) scripts.
Chronos can be used to interact with systems such as Hadoop (incl. EMR), even if the Mesos agents on which execution happens do not have Hadoop installed. Included wrapper scripts allow transfering files and executing them on a remote machine in the background and using asynchronous callbacks to notify Chronos of job completion or failures. Chronos is also natively able to schedule jobs that run inside Docker containers.
Chronos has a number of advantages over regular cron.
It allows you to schedule your jobs using ISO8601 repeating interval notation, which enables more flexibility in job scheduling. Chronos also supports the definition of jobs triggered by the completion of other jobs. It supports arbitrarily long dependency chains.
The easiest way to use Chronos is to use DC/OS and install chronos via the universe.
- Web UI
- ISO8601 Repeating Interval Notation
- Handles dependencies
- Job Stats (e.g. 50th, 75th, 95th and 99th percentile timing, failure/success)
- Job History (e.g. job duration, start time, end time, failure/success)
- Fault Tolerance (leader/follower)
- Configurable Retries
- Multiple Workers (i.e. Mesos agents)
- Native Docker support
Documentation and Support
Chronos documentation is available on the Chronos GitHub pages site.
Documentation for installing and configuring the full Mesosphere stack including Mesos and Chronos is available on the Mesosphere website.
For questions and discussions around Chronos, please use the Google Group "chronos-scheduler":
Chronos Scheduler Group.
If you'd like to take part in design research and test new features in Chronos before they're released, please add your name to Mesosphere's UX Research list.
Mesosphere publishes Docker images for Chronos to Dockerhub, at https://hub.docker.com/r/mesosphere/chronos/.
Instructions on how to contribute to Chronos are available on the Contributing docs page.
The use and distribution terms for this software are covered by the
Apache 2.0 License (http://www.apache.org/licenses/LICENSE-2.0.html)
which can be found in the file LICENSE at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
Please see the support page for information on how to report bugs.