Skip to content

# FAQ - Common Questions

## Will running Edge Worker 24/7 affect my billing?

Section titled “Will running Edge Worker 24/7 affect my billing?”

Short Answer: Not really

Edge Worker should not affect your Supabase billing in any significant way, because Supabase charges for Edge Function invocations and data transfer, and Edge Worker does not do lot of invocations and data transfer depends on how many messages you process.

Note

Check official Pricing page for more details.

Read more details about invocations and data transfer

### Effect on Invocations

Section titled “Effect on Invocations”

Edge Worker lives in a regular Edge Function and function must be called with HTTP request to start it.

Worker will also do that HTTP request to respawn itself. It does that when it detects that CPU or Clock soft limits were reached.

But even if your Worker would process hundreds of jobs per second for the whole month without a stop and exceed limits every 6 seconds, it will still not exceed the invocation limits of the Free Tier, which is set to 500.000 per month.

### Effect on Data Transfer

Section titled “Effect on Data Transfer”

The bandwidth used by a worker depends mostly on how many and how big messages it will get from the queue.

Just polling without returning any messages eats a tiny amount of bandwidth, but shoul be negligible compared to retrieving actual data.

Currently, Supabase offers 5GB of bandwidth per month in the Free Tier.

## Can I dynamically set queue name per request?

Section titled “Can I dynamically set queue name per request?”

Short Answer: No, it’s not supported

Edge Worker only supports one queue per worker. Each Edge Function can be configured with a single queue name, but cannot vary it at runtime based on the incoming request.

Read more details about this limitation

### Why only one queue per worker?

Section titled “Why only one queue per worker?”

- It simplifies the worker internals and debugging.
- The Edge Functions environment is ephemeral and limited, so handling multiple queues in one worker is not recommended.
- You can create additional workers for separate queues if needed.

## How do I handle concurrency for multiple tenants?

Section titled “How do I handle concurrency for multiple tenants?”

Short Answer: Use multiple queues or multiple workers

If you want to process tasks for different tenants without interference, you can partition them by having more than one queue, each with its own worker (or multiple workers) to increase throughput.

Read more about multiple queues and workers

### Multiple queue strategy

Section titled “Multiple queue strategy”

- Deploy a dedicated worker for each queue, e.g. `{ queueName: 'tasks-tenant1' }`.
- Send tenant-specific messages to the appropriate queue.
- This way, each tenant’s workload is isolated and won’t block others.

## Can I force a new worker to spawn by calling the function again?

Section titled “Can I force a new worker to spawn by calling the function again?”

Short Answer: Not reliably

Spawning new worker instances is managed by the Supabase platform, and simply invoking the same Edge Function again doesn’t guarantee a new worker is started.

Read more about the Supabase load balancer

### Why can’t I control worker creation?

Section titled “Why can’t I control worker creation?”

- Workers are managed by an API gateway that decides when to start new instances based on load and availability.
- Sending multiple HTTP requests to the same Edge Function will not necessarily create new workers.
- For concurrency or throughput, run multiple Edge Functions or workers, each configured separately.