Getting Started with 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 !
It is successfully done.
Now can login with your corporate mail Id and Password.
It is the Home Page that you will get after Sign Up
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”
Give a name and a relevant description to workspace. Then click on create.
You can see the workspace is created.
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
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.
Here we can see a new task executor is created
To check the details, click on “Check details”
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.
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.
- General — Give a name and add a description. Also choose the work space and its associated task executor.
2. Trigger — Add a schedule and its type.
It supports two schedule Types — UNIX and QUARTZ
In the above example, it will trigger task executor everyday at 8.00 am. You can set it as per your requirement.
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
- Bash Task
- 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
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.
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/.