Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.insforge.dev/llms.txt

Use this file to discover all available pages before exploring further.

Schedules invoke functions on a recurring cron expression. pg_cron fires an HTTP request to the function URL at each tick and logs the result.

Concepts

A schedule is a cron expression, a target URL, and headers. On creation, ${{secrets.KEY}} placeholders in headers are resolved and encrypted with pgcrypto. At each tick, execute_job() decrypts headers, calls the function, and writes status and duration to schedules.job_logs.

Usage

Standard 5-field cron (no seconds). Reference secrets in headers instead of hardcoding keys.
*/5 * * * *   every 5 minutes
0 * * * *     every hour
0 0 * * *     daily at midnight
0 9 * * 1     every Monday at 9am
0 0 1 * *     first of every month
Create via dashboard or SQL:
select schedules.create_job(
  name       => 'daily-cleanup',
  schedule   => '0 0 * * *',
  url        => 'https://myapp.functions.insforge.app/cleanup',
  headers    => jsonb_build_object('Authorization', 'Bearer ${{secrets.CRON_TOKEN}}')
);

Limits

Minimum interval is 1 minute (pg_cron). Failed runs are logged but not retried, so the function must be idempotent. Deleting a referenced secret breaks every job using it until you update or disable the schedule.

More resources