Daemon Catalog

Introduction


This module provides a full blown catalog that helps you visualize all the available daemon, their groups and the available jobs in every daemon.

In addition, it assists you in creating daemon groups which basically control the behavior of these daemons when you deploy them.


Objective


  1. List all activated daemons
    1. List daemon jobs
  2. Manage daemon groups
    1. Configure Daemon Groups
  3. How to Build a Daemon



Daemons



SOAJS Daemons are similar to SOAJS services:

  • they run on a designated port 
  • they have a job list


Once a daemon has been activated in Repositories, you will be able to see its details in this module.

When deploying a daemon, you need to supply a daemon group that states how this daemon should behave and how it should run its jobs: sequentially or in parallel.

Check out how to build a daemon and how to deploy it for more details.


Daemon Groups


Groups are created for active daemons and provide control on how daemons should behave in the environments they are deployed in.

Using groups, you can configure a daemon to run based on a time interval, cron job with timezone support or run only once.

In addition you can configure which jobs to run and how to run them: in parallel - sequentially.

In the case where you have more than one instance of the same daemon deployed in the same environment, you can also define if these instances can run at the same time or only one instance at a time.


Daemon Groups also supply configuration to daemons jobs per environment, this configuration can either be global or multitenant. 

Configuration TypeDescription
GlobalProvides a JSON object that contains the configuration you enter using via the user interface. This configuration is the same regardless of the environment you deploy the daemon in.
Multitenant

Links the daemon to tenant keys. Tenant keys can be associated with configuration per tenant ( servicesConfig ) and at runtime, for each key linked to the daemon, the daemon jobs of that daemon are repeated.

Ex:

if you have a daemon with 2 jobs and you link it to 2 tenant keys, at runtime a total of 4 jobs will be executed:

  • job 1 will run 2 times; once for each tenant key
  • job 2 will run 2 times; once for each tenant key


Tenant key configuration is environment dependent, this means that the associated tenant key will only supply the configuration configured for the environment that the daemon is running in. 

Daemon Groups
Time Based Interval Daemon
Cron Job Based Daemon
Global Daemon Configuration
Multitenant Configuration





How to Build a Daemon


The dashboard daemon module shows you the list of activated daemons only, therefore, before you activate a daemon you need to build it. 

To build a daemon you need the SOAJS framework. Click here to learn how to build a daemon, then activate it using Repositories.

Once activated, return to this module in the dashboard and you will be able to create a group for it and configure it.

After creating a group for your daemon, you can deploy it manually or using the dashboard. Click here to learn how to deploy a daemon.