Schedules and runs

Every row runs on its own schedule. How to set it, how to write a custom one, and which background jobs matter.

Schedules

The Jobs page lists everything on a timer. Each job carries its own next run on its line, and opening one reveals its frequency picker; underneath, Rows lists the rows that build on a schedule, grouped by the cron they share. Three rows on the same schedule are one trigger that builds all three, not three timers. That list is read-only: a row’s schedule is edited in the row editor, so each setting has exactly one home.

It lives with Jobs rather than in its own nav entry because “what background work exists” and “when does it run” are two views of one thing. As separate pages, every job was listed twice and neither page could answer a whole question. /schedule still redirects here.

Two jobs are worth knowing about there:

Every row runs on its own schedule. There is no single server-wide one. Open a row (Rows → edit) and set its Schedule: Nightly or Weekly presets (just pick a run time), Custom for anything else, or Off to only run that row by hand. New rows default to nightly at 03:30 server-local; on upgrade, existing rows keep whatever your old global schedule was. Rows that share a cron run together. To skip a person entirely, pause them on their detail page.

Writing a custom schedule

Every Custom schedule box in Shortlist (a row’s schedule, and the watch-history, user-sync and backup pickers on Jobs) takes either form:

Whichever you type, the line underneath tells you what it will actually do and what gets saved, and nothing saves until it parses. So a typo can’t quietly leave you on the built-in default. Times are the server’s, not your browser’s.

Edit this page on GitHub