Back to Supabase

Cron

apps/docs/content/guides/cron.mdx

1.26.041.4 KB
Original Source

Supabase Cron is a Postgres Module that simplifies scheduling recurring Jobs with cron syntax and monitoring Job runs inside Postgres.

Cron Jobs can be created via SQL or the Integrations -> Cron interface inside the Dashboard, and can run anywhere from every second to once a year depending on your use case.

<Image alt="Manage cron jobs via the Dashboard" src={{ dark: '/docs/img/guides/cron/cron.jpg', light: '/docs/img/guides/cron/cron--light.jpg', }} width={2072} height={1457} />

Every Job can run SQL snippets or database functions with zero network latency or make an HTTP request, such as invoking a Supabase Edge Function, with ease.

<Admonition type="note">

For best performance, we recommend no more than 8 Jobs run concurrently. Each Job should run no more than 10 minutes.

</Admonition>

How does Cron work?

Under the hood, Supabase Cron uses the pg_cron Postgres database extension which is the scheduling and execution engine for your Jobs.

The extension creates a cron schema in your database and all Jobs are stored on the cron.job table. Every Job's run and its status is recorded on the cron.job_run_details table.

The Supabase Dashboard provides an interface for you to schedule Jobs and monitor Job runs. You can also do the same with SQL.

Resources