Skip to content

Overview

Ankit Nanglia edited this page Nov 11, 2019 · 6 revisions

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.

Getting Started

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.

Running a Sample Workflow

Please visit this guide to get a quick overview of scheduling a workflow with Kronos.

Concept

Please visit this guide to understand the concept of a workflow in Kronos.

Extensibility

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.