The jekyo.yaml file
Scheduled jobs
A service with a schedule runs on that schedule instead of running forever.
Declaring a job
app: shop
services:
report:
image: acme/reporter:1.2 # or build: from source
command: ["python", "nightly_report.py"]
env:
DB_URL: postgres://db:5432/shop
schedule: "0 3 * * *" # every night at 03:00
Standard 5-field cron syntax. The job runs to completion; overlapping runs are prevented (a still-running job blocks the next tick). Failures retry.
Constraints
schedule is mutually exclusive with http, replicas, expose, and volumes: a cron job is a task, not a server. It can still reach the app's other services by name (the reporter above talks to db directly).
Observing runs
jekyo status shop # shows the schedule and last run time
jekyo logs shop/report # output of recent runs
jekyo ps shop # run pods appear here while executing