Schedule a post
Write a blog post now and have it go live at a set time, with the checks still applied at that moment, and optionally come down again later.
Before you start: an author to write and an editor to schedule (content.publish). The server's ticker must be running (it is by default; hosts that set SPILLWAY_TICKER=0 run spillway run-scheduled from cron instead).
Steps
- Content → Posts → New post. Title, summary (one or two sentences for lists), body, a hero image with alt text, and the publish date you want shown on the post. Save: it is a draft.
- Run Checks and fix any error now; a failing check at publish time leaves the post unpublished.
- An editor opens the post and chooses Schedule… in the action bar: Publish at the launch time in their local time zone, and, for a limited-time announcement, Unpublish at. The action bar shows a badge ("Publishes 12 Jan 2026, 09:00") with a Cancel link.
- Leave it. The post can still be edited until the time comes; the status stays draft (or in review) until then.
Check the result
- The content list shows a scheduled badge next to the post and the Scheduled chip filters to it; Review queue → Scheduled lists it soonest first.
- Within 30 seconds of the time, the post is published: it answers 200 at
/blog/<slug>, appears in the blog collection and in/feeds/<collection>.rss, and the audit log records the publish as thesystemactor. - If a check failed at that moment, the badge is red with the message and a
schedule.failednotification went out; fix the post and the next tick publishes it. - At the Unpublish at time the post moves to Archived and its URL answers 404 (add a redirect if the link was shared).
Going further
- Scheduling and Notifications in the getting-started guide.
- Launch a campaign with a workstream to schedule a set of changes together.
- CLI reference for
spillway run-scheduled.
Spillway 0.1.0 · Edit this page on GitHub