Getting Started with Cesium Scheduler

Rupali Gurjar
cesium-scheduler
Published in
6 min readMar 21, 2022

--

Cesium Scheduler

Cesium Scheduler

Cesium is a general purpose scheduler SaaS that allows users to run recurring workflows anywhere with minimal setup and powerful capabilities.

Checkout more things about Cesium Scheduler here.

How to signup and create an account on Cesium Cloud Scheduler

If you are a new user and don’t have any account, let’s signup here !

Click on the Sign up

Fill all your details here with a strong password. And Just Sign Up !

Sign up

It is successfully done.

Now can login with your corporate mail Id and Password.

Login

It is the Home Page that you will get after Sign Up

Home Page

Key Entities

Here you will see three main entities

  • Workspaces
  • Task Executors
  • Workflows

If you don’t know anything about them, don’t worry. We will explore all the entities one by one.

Workspaces

The workspace is a way of organizing task executor and workflow into logical groups for easier management. If you have multiple teams within your company using Cesium , then you can try to create a workspace per team. Or if you are running workflows for different purposes, you can group them by purpose as well.

Let’s create a workspace and explore it practically.

To create a new workspace, click on the “+ New Workspace”

add a new workspace

Give a name and a relevant description to workspace. Then click on create.

Creating a new Workspace

You can see the workspace is created.

Workspace

Task Executors ( Tex )

The task executor:

  • runs as a daemon process within the customer’s infrastructure
  • is configured through a properties file to authenticate itself to the Cesium Scheduler cloud component.
  • is responsible for executing the workflow and communicating the state of execution

Every task executor must be associated with a workspace. The task executor requires internet access to work correctly. The task executor initiates outbound network connections from the machine it is running on to the core scheduler in the cloud. Tex (task executor) never accepts incoming requests from the internet and does not require you to open any ports in your network.

Note :- The task executor is a software that must be downloaded and run on your infrastructure.

Let’s see how to create a new task executor.

Go to Task Executors and click on + New Task Executor

add a new task executor

Give it a name, choose the Workspace ( in which you want to save your work ) and add a description to it. Then click on create.

Creating a new task executor

Here we can see a new task executor is created

Task Executor

To check the details, click on “Check details”

Details of Task Executor

If you want, you can also edit it.

Workflows

It is the most important entity in Cesium Scheduler.

Let’s explore more about it by creating a workflow!

Go to Workflows and click on “+ New Workflow” button.

add a new workflow

Here you can see four main sections

  • General: This section contains general information about the WF like name, description, workspace etc.
  • Trigger: This section controls when the workflow is run.
  • Workflow Code: The core DAG definition of the workflow and associated files required for the workflow to run.
  • Notifications: Getting email alerts on specific stages of the workflow.
creating workflow
  1. General — Give a name and add a description. Also choose the work space and its associated task executor.
General

2. Trigger — Add a schedule and its type.

It supports two schedule Types — UNIX and QUARTZ

Trigger

In the above example, it will trigger task executor everyday at 8.00 am. You can set it as per your requirement.

UNIX Schedule Fields

3. Workflow Code —

It has three parts — Code Artifact, workflow definition and environment variables.

a) Code artifact: The code artifact is a zip file that contains all the files that your workflow needs. This is an optional file. If you attach a code artifact zip file, then the contents will be unzipped into the a specific folder on the machine where the task executor is running and this will be the current directory for the processes launched for the workflow. This allows you to distribute or deploy new versions of your workflow code through Cesium. If you have a way to deploy your scripts on the machines where tex runs, then you can leave this empty.

b) Workflow definition: The workflow definition is the heart of the workflow. This is a Cesium specific way of representing a directed acyclic graph (DAG) of tasks that need to be executed. The workflow definition is expressed in JSON. Each workflow consists of an attribute called tasks which must be an array of Tasks. Each task consists of a name (String), type (an enumeration), dependentTasks (an array of strings) and then some attributes that are dependent on the task type.

Task Types — There are two types of task it supports

  1. Bash Task
  2. Python Task

c) Environment Variables: Cesium believes in the methodology of the 12 factor app where each workflow can be packaged once and run in different environments using configs. You can setup environment variables to point to things like file locations, references to secrets that need to pulled in etc. using environment variables. Any variables configured here will be made available to the task process as system or env variables.

For more details, you can checkout the Documentation

workflow code

4. Notifications — This section allows you to get alerted on specific workflow run events like Workflow Run Start, Failure or Success via email.

Now Click Create. Here you can see workflow is created.

Work Flows

Hope this article will help you start with Cesium Scheduler. So just sign-up and try out Cesium here!

Checkout our website and the documentation at https://simpledataops.github.io/cesium-scheduler/.

--

--