The djinn-scheduler
is the component that handles the scheduling of cron jobs that have been submitted via the server. Every minute this will invoke the cron jobs in batches of 1000 that are ready to be invoked.
Detailed below are the software dependencies that the scheduler needs in order to start and run,
DEPENDENCY | REASON |
---|---|
PostgreSQL | Primary data store for the scheduler. |
Redis | Data store used as the build queue. |
NAME | TYPE | DESCRIPTION |
---|---|---|
|
| The list of drivers supported on the server. This should match what is in the server configuration. |
|
| Configuration settings for generating names for artifacts. |
|
| Salt the is used to generate secrets. Must match what is in the server configuration. |
|
| Provides connection information to the PostgreSQL database. |
|
| The address of the PostgreSQL server to connect to. |
|
| The name of the database to use. |
|
| The name of the database user. |
|
| The password of the database user. |
|
| TLS configuration for connecting via TLS. |
|
| Path to the CA root to use. |
|
| Path to the certificate to use. |
|
| Path to the key to use. |
|
| Providers connection information to the Redis database. |
|
| The address of the Redis server to connect to. |
|
| The password used if the Redis server is password protected. |
To run the scheduler simply invoke the djinn-scheduler
binary. There is only one flag that can be given to the djinn-scheduler
binary.
-config
- This specifies the configuration file to use, by default this will be djinn-scheduler.conf
.The dist
directory contains files for running the Djinn Scheduler as a daemon on Linux systems that use systemd and SysVinit for daemon management. Use whichever suits your needs, and modify accordingly.
If deploying to a Linux system that uses systemd, then be sure to run systemctl daemon-reload
upon placement of the service file.