Skip to content

Local Development

The Supabase Edge Runtime can produce verbose output during local development. This is especially noticeable because pgflow sends HTTP requests every 1 second to respawn workers quickly. To get cleaner logs that focus on your worker output, pipe through grep:

npx supabase functions serve --no-verify-jwt 2>&1 | \
grep -Pv 'serving the request with supabase/functions/[a-zA-Z0-9-]+-worker|^\d{4}-\d{2}-\d{2}T[\d:.]+Z\s*$'

This filters out:

  • Request serving messages for worker functions
  • Empty timestamp lines

During local development, pgflow automatically:

  • Restarts workers when you change flow code
  • Recompiles flows when the shape changes
  • Keeps workers running via cron (every 1 second)

See Worker Lifecycle for details on how this works.

The first time you start a worker, you need to trigger it once:

curl http://localhost:54321/functions/v1/my-worker

After this initial registration, pgflow’s cron keeps the worker running automatically.

Chat with Author