apps/docs/content/guides/cron.mdx
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>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.