stackapRequest access

Product

Cron jobs

A Stackap cron job is a schedule and a path: at each scheduled time Stackap calls that path on your app and records whether the call succeeded.

What it does

You define a job with a name, a standard five-field cron schedule and a path that starts with a slash. The scheduler is built into the platform, so there is no separate worker to run or pay for. When a job comes due, Stackap makes the request to your running app and stores the result.

If your project already has cron entries in a vercel.json file, you can import them in one step with stackap cron import <slug> vercel.json. The job name is derived from the path. A set of 73 scheduled jobs from a real multi-tenant product passes the importer's validation.

Every run is recorded with its status and any error, and the list of jobs shows the status and time of the last run, so an agent or a person can see which job is failing without reading logs.

How it works

Schedules are evaluated in UTC, always. A schedule written for another time zone has to be converted by hand, and daylight saving changes will shift the local hour. This matches how the hosted cron it imports from behaves.

On each tick the scheduler looks for jobs whose most recent scheduled time has no run recorded yet and starts one, so a job is not skipped if a tick is late. A monitor check summarizes the cron system as healthy, warning when some jobs are flaky, and failing when some are down.

In practice

$ stackap cron import my-app vercel.json
$ stackap cron ls my-app

Early-access scope

Questions

Does it support seconds or every-minute jobs?
Schedules use the five standard fields, so the finest grain is one minute. We have not tested very frequent schedules under load.
How does the job authenticate to my app?
It makes an ordinary request to a path. If the path must not be public, protect it the way you would any endpoint, for example with a shared secret that you check yourself.

Stackap is in early access. Tell us what you run and we will reply with a straight answer about whether it fits.

Ask for an invitation

Last updated .