mirror of
https://github.com/supabase/supabase.git
synced 2026-05-14 14:49:37 +08:00
39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
---
|
|
title: 'Cron'
|
|
subtitle: 'Schedule Recurring Jobs with Cron Syntax in Postgres'
|
|
---
|
|
|
|
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](/dashboard/project/_/integrations) 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`](https://github.com/citusdata/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
|
|
|
|
- [`pg_cron` GitHub Repository](https://github.com/citusdata/pg_cron)
|