-
Notifications
You must be signed in to change notification settings - Fork 5
Overview
Kronos was implemented at Cognitree to run and manage recurring Big data workflows.
Workflow: A workflow is a set of tasks that need to be run periodically. These tasks can be dependent on each other.
Use Kronos to execute a set of ordered tasks periodically at the specified time interval. Kronos execute these tasks over an array of executors while following the specified dependencies. The ability to plug in custom handler allows you to execute any type of task.
Kronos does not deal with data i.e. tasks do not move data from one to another though they can exchange metadata.
Kronos is a Java framework that can run as a servlet-container or can be embedded into existing code base as a library.
Kronos consists of three key components:
- Scheduler: fires up the task instances that are ready to run.
- Executor: execute the tasks scheduled by the scheduler.
- Messaging Queue: communication channel between scheduler and executor.
Please visit this guide to setup a standalone
web server to try out Kronos. For production ready setup with load distribution features enabled, check this guide for running in a distributed
mode.
Please visit this guide to get a quick overview of scheduling a workflow with Kronos.
Please visit this guide to understand the concept of a workflow in Kronos.
Each component of Kronos is extensible from task handler to the persistence store to messaging queue. Although Kronos comes with pre-built extensions for each of the pluggable components, one can easily build a custom implementation. Please visit this extension guide to get an idea about existing extensions and how to write one.