Skip to content

Cron (Scheduled)

Cron jobs let you schedule code to run repeatedly on a schedule.

Some common examples include:

  • Checking an RSS feed every hour
  • Getting notified when a website updates
  • Sending a reminder email every morning

Cron functions can be configured with cron syntax, or simple intervals like “once an hour”

Functions can run up to once every 15 minutes, or once a minute, with the Pro plan.

Type Signature

Cron functions should take an Interval object as a parameter, and can return anything as a result. The return value is ignored.

ExampleRun in Val Town ↗
export function cronValHandler(interval: Interval) {
console.log("Cron val ran!");
}

The Interval type has the following shape:

interface Interval {
lastRunAt: Date | undefined;
}

Schedule types

There are two kinds of schedules: either simple intervals, like “run every two hours”, or you can use cron syntax to define more complex schedules.

You can consult crongpt.com for help on writing cron expressions. For example the following cron runs every two hours, on the first day of the month:

0 */2 1 * *

Example

This example polls an RSS feed for new items since the last run. This val runs every 1 hour.