{"id":19226594,"url":"https://github.com/alonsodomin/quckoo","last_synced_at":"2025-08-09T00:22:55.248Z","repository":{"id":57736096,"uuid":"41266310","full_name":"alonsodomin/quckoo","owner":"alonsodomin","description":"Fault tolerant distributed task scheduler.","archived":false,"fork":false,"pushed_at":"2020-01-31T17:21:26.000Z","size":6362,"stargazers_count":40,"open_issues_count":16,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-21T00:34:58.267Z","etag":null,"topics":["akka","cluster","distributed","docker","scala","scalable","scheduler"],"latest_commit_sha":null,"homepage":"http://www.quckoo.io","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alonsodomin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-23T20:36:31.000Z","updated_at":"2024-05-08T08:35:11.000Z","dependencies_parsed_at":"2022-08-23T22:40:24.578Z","dependency_job_id":null,"html_url":"https://github.com/alonsodomin/quckoo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/alonsodomin/quckoo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alonsodomin%2Fquckoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alonsodomin%2Fquckoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alonsodomin%2Fquckoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alonsodomin%2Fquckoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alonsodomin","download_url":"https://codeload.github.com/alonsodomin/quckoo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alonsodomin%2Fquckoo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266447942,"owners_count":23930077,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["akka","cluster","distributed","docker","scala","scalable","scheduler"],"created_at":"2024-11-09T15:19:23.589Z","updated_at":"2025-07-22T07:32:46.275Z","avatar_url":"https://github.com/alonsodomin.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quckoo\n\n[![Build Status](https://travis-ci.org/alonsodomin/quckoo.svg?branch=master)](https://travis-ci.org/alonsodomin/quckoo)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/e9f5ba8e800e494f995643d50927783f)](https://www.codacy.com/app/alonso-domin/quckoo?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=alonsodomin/quckoo\u0026amp;utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/alonsodomin/quckoo/branch/master/graph/badge.svg)](https://codecov.io/gh/alonsodomin/quckoo)\n[![License](http://img.shields.io/:license-Apache%202-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.quckoo/quckoo-core_2.11/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.quckoo/quckoo-core_2.11)\n\nQuckoo is a fault-tolerant distributed task scheduler platform that runs on the JVM. The aim of the project is\nthe implementation of a reliable system able to run large amount of scheduled tasks without single points of failure.\n\nTo achieve that, Quckoo is composed of a cluster of scheduler nodes and ad hoc worker nodes that connect to this\ncluster and request for work to be sent to them. It's basically a generalization of the [distributed worker\npattern](http://letitcrash.com/post/29044669086/balancing-workload-across-nodes-with-akka-2) (and in fact the\nimplementation owes a lot to the previous post).\n\n## Documentation\n\n * [Wiki](https://github.com/alonsodomin/quckoo/wiki/Introduction)\n\n## Building\n\nFirst of all, ensure you have the following tools in your local machine:\n\n * [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) 1.8+ for running and compiling the source code\n * [SBT](http://www.scala-sbt.org) 0.13.5+ for building the whole project\n * [NodeJS](https://nodejs.org/en/) 4.5.x+ for running and optimizing the ScalaJS code\n * [PhantomJS](http://phantomjs.org) 2.x+ for running the ScalaJS test suites\n * [SASS](http://sass-lang.com) 3.4.0+ for compiling UI's stylesheets.\n\nOptionally, if you will want to be able to run Quckoo in your local machine\nusing the Docker containers you will need one of the following (or both):\n\n * [Docker](http://www.docker.com) 1.10+ for running the docker containers \"natively\" in your local machine\n * [Vagrant](http://www.vagrantup.com) 1.8.x+ plus a Virtual Machine provider (i.e.: [VirtualBox](http://www.virtualbox.org) 5.x+) for bootstrapping the sandbox.\n\nTo build the project input following commands in a terminal:\n\n```\ngit clone https://github.com/alonsodomin/quckoo\ncd quckoo\nsbt package\n```\n\n### Launching the cluster\n\nThe easiest way to launch the cluster right now is by building the Docker images locally and then starting the default docker compose\ncluster setup. This operations can easily be done from within SBT:\n\n```\nsbt launchLocal\n```\n\nAfter the previous commands, using `docker ps` you should be able to see 2 master nodes, one worker node and one Cassandra node running as docker containers\nin your local machine. The cluster will need a few seconds to fully stabilize and then it will be ready to serve requests. You should be able to\naccess the Quckoo UI in following URL:\n\nhttp://localhost:8095\n\n_Use `admin` and `password` as credentials when prompted._\n\n### Fully isolated environment\n\nThe repository ships with a `Vagrantfile` in its root folder for ease the setup of a fully isolated environment. This Vagrant configuration\nwill create a virtual machine in the host computer and deploy into it the required components of the architecture as\nDocker containers. To start this environment issue following command in a terminal window from inside your working copy:\n\n```\nvagrant up\n```\n\n_To access the UI in this environment, use this URL: http://192.168.50.25:8095_\n\n#### Build error when building the vagrant box\n\nWhen trying to bootstrap the self-contained VM with Vagrant, SBT will be invoked from the inside the VM to publish\nthe Docker images in the host's local registry. When this is done the first time SBT may fail to communicate with\nthe local Docker daemon and you will see a build error. If this happens just re-provision the VM and it should work.\n\n```\nvagrant provision\n```\n\n## Contributing\n\nQuckoo is still right now in _experimental_ phase, current codebase will be evolving until it reaches the level of\nrobustness necessary to be able to trust on the system to be able to handle the big load we are aiming for. Feel\nfree to fork this repository and contribute with your knowledge to make this project a reliable and really\nfault-tolerant task scheduling platform.\n\n## License\n\nCopyright 2015 Antonio Alonso Dominguez\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falonsodomin%2Fquckoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falonsodomin%2Fquckoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falonsodomin%2Fquckoo/lists"}