Skip to content
This guide is for the queue-only version of Edge Worker. Main docs are here

# How it works?

Edge Worker is a task queue worker that gets messages from a queue and calls user functions with their payload.

### Features

Section titled “Features”

Under the hood, it wraps Supabase Background Tasks and adds a lot of useful features:

- retries with delays
- concurrency control
- observability (heartbeats, logging)
- horizontal scaling (by deploying multiple edge functions for the same queue)

### CPU/clock limits

Section titled “CPU/clock limits”

Edge Worker treats Edge Function termination due to CPU/clock limits as an expected occurrence and includes extra measures to handle it as part of normal operations:

- stops polling as soon as the soft limit is reached
- makes extra effort to gracefully abort pending tasks with abort signals
- uses PGMQ’s visibility timeout to ensure no message is ever lost
- spawns new instances automatically for continuous operations
- pings the database with heartbeats to ensure the worker’s health