Skip to main content

Definition

We use the YAML data-serialization language to configure jobs in Runlet. The job syntax block is relatively simple, and you can define a job in two ways:

Reduced syntax:

myjob: ls -lah

Extended syntax:

myjob:
script: ls -lah

Multi-line job script

You can define jobs with a long multi-line string as follows:

myjob:
script: |
ls -lah
echo "Job has finished"

myjob2: |
ls -lah
echo "Job 2 has finished"

Description (optional)

You can define a description for a job as follows:

myjob:
script: "ls -lah"
description: "This job shows all the content of the current folder"

Change current directory (optional)

myjob:
script: ls -lah
cwd: "/home/user/.config"

Change the job entrypoint (optional)

By default, jobs are executed using /bin/bash on Linux and MacOS and cmd.exe on Windows. You can change this behavior by using the entrypoint key.

myjob:
script: |
import time
for i in range(3600):
print(i)
time.sleep(1)
entrypoint: [ "python" ]

It requires a list of strings denoting the used binary and a list of args. Runlet will wrap the contents of script in a file and pass to the entrypoint execute.