On this page
Kater CLI Run Kater's services job
kater job
Runs a deployment's scheduled jobs: connection syncs and test runs, on a schedule or right after another job.
These commands are for the platform admins who run Kater on a server. Agents and the Files terminal cannot run them. See Scheduled jobs.
Commands
| Command | What it does |
|---|---|
kater job list | List a deployment’s jobs, next runs and last runs. |
kater job run | Run one job now, then the jobs set to follow it. |
kater job tick | Run the jobs due this minute, and any still queued. |
kater job history | List a deployment’s past job runs, newest first. |
kater job crontab | Print the crontab line that runs jobs on schedule. |
Jobs in kater.config.yaml
Jobs live in kater.config.yaml at the content root. A job runs kater sync or kater test for one connection. It runs on its own schedule, or after another job of the same connection and deployment, right after that job succeeds.
jobs: sync_snowflake: command: kater sync connection: snowflake_prod_connection deployment: production schedule: enabled: false cron: "0 2 * * *" timezone: UTC test_snowflake: command: kater test connection: snowflake_prod_connection deployment: production after: sync_snowflake- One trigger. A job has a
scheduleor anafter, not both. - UTC schedules.
timezoneis alwaysUTC. A schedule is off untilenabledistrue. - One job per command. Each command, connection and deployment has one job at most.
How jobs run
- Root and deployment are explicit. Every job command needs
--kater-rootand--deployment. It never uses a saved scope, and it refuses--scope. - An administrator runs them. The commands that read
kater.config.yamlneed a trusted administrator identity in the environment. - One worker at a time. One
kater job tickorkater job runworks on a deployment at a time. While one works, another leaves its runs queued for the next tick. - Automatic runs need cron. Install the line that
kater job crontabprints. - Browser sign-in fails a job. A job fails without running when its connection’s warehouse credential needs a person to sign in. The Warehouse settings table says when.
- Run state stays on the server. Kater keeps each run in
.kater/jobs/runs.sqlite3, under the content root.
Examples
# List the production deployment's jobs, their next runs and their last runskater job list --kater-root . --deployment production# Run the sync_snowflake job now, then test_snowflake, which runs after itkater job run sync_snowflake --kater-root . --deployment production# Print the crontab line that runs the jobs on schedulekater job crontab --kater-root . --deployment production