{"id":13503195,"url":"https://github.com/mesos/chronos","last_synced_at":"2025-12-16T16:56:58.465Z","repository":{"id":6938278,"uuid":"8189762","full_name":"mesos/chronos","owner":"mesos","description":"Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules","archived":false,"fork":false,"pushed_at":"2022-06-29T19:43:36.000Z","size":7481,"stargazers_count":4387,"open_issues_count":233,"forks_count":523,"subscribers_count":279,"default_branch":"master","last_synced_at":"2025-11-27T13:28:24.407Z","etag":null,"topics":["chronos","chronos-scheduler","cron","cron-jobs","crontab","fault-tolerance","job-scheduler","mesos","mesos-framework","mesosphere","scheduled-jobs"],"latest_commit_sha":null,"homepage":"http://mesos.github.io/chronos/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mesos.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-13T22:59:14.000Z","updated_at":"2025-11-25T09:53:57.000Z","dependencies_parsed_at":"2022-07-21T22:00:15.856Z","dependency_job_id":null,"html_url":"https://github.com/mesos/chronos","commit_stats":null,"previous_names":["airbnb/chronos"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/mesos/chronos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mesos%2Fchronos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mesos%2Fchronos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mesos%2Fchronos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mesos%2Fchronos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mesos","download_url":"https://codeload.github.com/mesos/chronos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mesos%2Fchronos/sbom","scorecard":{"id":637289,"data":{"date":"2025-08-11","repo":{"name":"github.com/mesos/chronos","commit":"c1348ddfd80eb8f888418805005066c230fc6ad2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":3,"reason":"Found 10/30 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: integration-tests/Dockerfile:1: pin your Docker image by updating debian:jessie to debian:jessie@sha256:32ad5050caffb2c7e969dac873bce2c370015c2256ff984b70c1c08b3a2816a0","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T09:34:47.604Z","repository_id":6938278,"created_at":"2025-08-21T09:34:47.604Z","updated_at":"2025-08-21T09:34:47.604Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27451392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-02T02:00:06.387Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chronos","chronos-scheduler","cron","cron-jobs","crontab","fault-tolerance","job-scheduler","mesos","mesos-framework","mesosphere","scheduled-jobs"],"created_at":"2024-07-31T22:02:41.334Z","updated_at":"2025-12-16T16:56:58.442Z","avatar_url":"https://github.com/mesos.png","language":"Scala","funding_links":[],"categories":["Scala","HarmonyOS","Data Pipeline ETL Frameworks","Data Pipeline","others","Frameworks","Job Scheduling","大数据","Capabilities","Infrastructure"],"sub_categories":["Windows Manager","Service/Meta Schedulers/ PaaS","Job Schedulers / Workload Automation","Elastic Computing"],"readme":"# Chronos [![Build Status](https://travis-ci.org/mesos/chronos.svg?branch=master)](https://travis-ci.org/mesos/chronos)\nChronos is a replacement for `cron`. It is a distributed and fault-tolerant scheduler that runs on top of [Apache Mesos][mesos] that can be used for job orchestration.  It supports custom Mesos executors as well\nas the default command executor. Thus by default, Chronos executes `sh`\n(on most systems bash) scripts.\n\nChronos 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.\n\nChronos has a number of advantages over regular cron.\nIt allows you to schedule your jobs using [ISO8601][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.\n\n*The easiest way to use Chronos is to use [DC/OS](https://dcos.io/get-started/) and install chronos via the universe.*\n\n\n## Features\n\n* Web UI\n* ISO8601 Repeating Interval Notation\n* Handles dependencies\n* Job Stats (e.g. 50th, 75th, 95th and 99th percentile timing, failure/success)\n* Job History (e.g. job duration, start time, end time, failure/success)\n* Fault Tolerance (leader/follower)\n* Configurable Retries\n* Multiple Workers (i.e. Mesos agents)\n* Native Docker support\n\n## Documentation and Support\n\nChronos documentation is available on the [Chronos GitHub pages site](https://mesos.github.io/chronos/).\n\nDocumentation for installing and configuring the full Mesosphere stack including Mesos and Chronos is available on the [Mesosphere website](https://docs.mesosphere.com).\n\nFor questions and discussions around Chronos, please use the Google Group \"chronos-scheduler\":\n[Chronos Scheduler Group](https://groups.google.com/forum/#!forum/chronos-scheduler).\n\nIf 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](http://uxresearch.mesosphere.com) list.\n\n## Packaging\n\nMesosphere publishes Docker images for Chronos to Dockerhub, at \u003chttps://hub.docker.com/r/mesosphere/chronos/\u003e.\n\n## Contributing\n\nInstructions on how to contribute to Chronos are available on the [Contributing](http://mesos.github.io/chronos/docs/contributing.html) docs page.\n\n## License\n\nThe use and distribution terms for this software are covered by the\nApache 2.0 License (http://www.apache.org/licenses/LICENSE-2.0.html)\nwhich can be found in the file LICENSE at the root of this distribution.\nBy using this software in any fashion, you are agreeing to be bound by\nthe terms of this license.\nYou must not remove this notice, or any other, from this software.\n\n## Contributors\n\n* Florian Leibert ([@flo](http://twitter.com/flo))\n* Andy Kramolisch ([@andykram](https://github.com/andykram))\n* Harry Shoff ([@hshoff](https://twitter.com/hshoff))\n* Elizabeth Lingg\n\n## Reporting Bugs\n\nPlease see the [support page](http://mesos.github.io/chronos/support.html) for information on how to report bugs.\n\n[ISO8601]: http://en.wikipedia.org/wiki/ISO_8601 \"ISO8601 Standard\"\n[mesos]: https://mesos.apache.org/ \"Apache Mesos\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmesos%2Fchronos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmesos%2Fchronos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmesos%2Fchronos/lists"}