Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize SEO for Supabase Workflow Engine #23

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 24 additions & 3 deletions pkgs/website/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,27 @@ export default defineConfig({
: 'noindex,nofollow',
},
},
{
tag: 'meta',
attrs: {
property: 'og:title',
content: 'pgflow - Postgres-First Workflow Engine for Supabase',
},
},
{
tag: 'meta',
attrs: {
property: 'og:description',
content: 'pgflow is an open-source workflow engine built on Supabase Background Tasks and Queues. It enables developers to run complex workflows entirely within Supabase, offering simplicity, scalability, and a seamless developer experience.',
},
},
{
tag: 'meta',
attrs: {
property: 'og:image',
content: 'https://www.pgflow.dev/assets/pgflow-logo-light.svg',
},
},
{
tag: 'script',
attrs: {
Expand Down Expand Up @@ -103,9 +124,9 @@ export default defineConfig({
},
]),
],
title: 'pgflow (Workflow Engine for Supabase)',
title: 'pgflow - Postgres-First Workflow Engine for Supabase',
description:
'A workflow engine for Postgres using Supabase queues and background tasks to process jobs in parallel. Simple and built for a great developer experience.',
'pgflow is an open-source workflow engine built on Supabase Background Tasks and Queues. It enables developers to run complex workflows entirely within Supabase, offering simplicity, scalability, and a seamless developer experience.',
logo: {
replacesTitle: true,
light: './src/assets/pgflow-logo-light.svg',
Expand Down Expand Up @@ -134,4 +155,4 @@ export default defineConfig({
],
}),
],
});
});
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Install Edge Worker
description: Quick setup guide for EdgeWorker on Supabase Background Tasks. Configure connection pooling, migrations, and environment in 5 simple steps.
title: 'Install Edge Worker for Supabase Task Processing & Workflows'
description: 'Complete guide to setting up Edge Worker in your Supabase project. Learn how to configure connection pooling, background job processing, and task queue management for optimal workflow automation.'
sidebar:
order: 1
---
Expand All @@ -9,8 +9,9 @@ import { Aside, Steps } from "@astrojs/starlight/components";
import { FileTree } from '@astrojs/starlight/components';
import NotProductionReady from '../../../../components/NotProductionReady.astro';

Let's set up a few things before working with Edge Worker.
This setup needs to be done only once per project.
## Setting Up Background Processing in Supabase

Edge Worker enhances your Supabase project with enterprise-grade background processing capabilities. This guide will help you set up a robust task queue system for reliable workflow automation and background job processing.

<NotProductionReady />

Expand Down Expand Up @@ -102,4 +103,4 @@ If you haven't installed the CLI yet or need to upgrade, see Supabase's [install

</Steps>

That's it! You're ready to create your first worker and start processing messages 🥳
That's it! You're ready to create your first worker and start processing messages 🥳
21 changes: 11 additions & 10 deletions pkgs/website/src/content/docs/edge-worker/how-it-works.mdx
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
---
title: How it works?
description: Discover how Edge Worker enhances Supabase Background Tasks with retries, concurrency control, and automatic scaling while ensuring zero message loss.
title: 'Edge Worker: Supabase Background Tasks & Queue Processing'
description: 'Enhance Supabase Background Tasks with Edge Worker - a robust task queue processor featuring retries, concurrency control, and seamless Postgres integration. Perfect for workflow automation and background job processing.'
---

import { Aside } from "@astrojs/starlight/components";

**Edge Worker** is a task queue worker that gets messages from a queue and calls user functions with their payload.
**Edge Worker** is a powerful task queue worker designed specifically for Supabase Background Tasks, enabling seamless workflow processing and background job management in your Postgres database.

[![](https://mermaid.ink/img/pako:eNplkcFugzAMhl8lyrl9AQ47VLBxqdSqlZAGHEziASokyEkmTaXvvoR0o1VziGL_n_9Y9pULLZEnvFItwdSxc1op5o9xTUxU_OQmaMAgy2SL7N0pYXutTMUjGU5WlItYaLog1VFAJSv14paCXdweyw8f-2MZLnZ06LBelXxXRk_DztAM-Gp9KA-kpRP-W7bdvs3Ga4aNaAy0OC_WdzD4B4IQVsLMvvkIZMUiA4mu_8ZHYjW5MxNp4dUnKC9zUHJA-h9R_VQTG-sQyDYINlTs-IaPSCP00q_gGvCK2w5HP53EPyXQJczp5jlwVp9-lOCJJYcbTtq13V_gJgkW0x78lEeefMFgfHYC9an1GqPsraZ9XPiy99svlAqmtA?type=png)](https://mermaid.live/edit#pako:eNplkcFugzAMhl8lyrl9AQ47VLBxqdSqlZAGHEziASokyEkmTaXvvoR0o1VziGL_n_9Y9pULLZEnvFItwdSxc1op5o9xTUxU_OQmaMAgy2SL7N0pYXutTMUjGU5WlItYaLog1VFAJSv14paCXdweyw8f-2MZLnZ06LBelXxXRk_DztAM-Gp9KA-kpRP-W7bdvs3Ga4aNaAy0OC_WdzD4B4IQVsLMvvkIZMUiA4mu_8ZHYjW5MxNp4dUnKC9zUHJA-h9R_VQTG-sQyDYINlTs-IaPSCP00q_gGvCK2w5HP53EPyXQJczp5jlwVp9-lOCJJYcbTtq13V_gJgkW0x78lEeefMFgfHYC9an1GqPsraZ9XPiy99svlAqmtA)

### Features
### Key Features for Supabase Workflow Processing

Under the hood, it wraps [Supabase Background Tasks](https://supabase.com/docs/guides/functions/background-tasks) and adds a lot of useful features:
Built as a foundational component for Postgres-native workflow orchestration, Edge Worker enhances [Supabase Background Tasks](https://supabase.com/docs/guides/functions/background-tasks) with enterprise-grade features:

- retries with delays
- concurrency control
- observability (heartbeats, logging)
- horizontal scaling (by deploying multiple edge functions for the same queue)
- **Intelligent Retries**: Configurable retry mechanisms with customizable delays for reliable task processing
- **Advanced Concurrency Control**: Fine-grained control over parallel task execution
- **Real-time Monitoring**: Comprehensive observability with heartbeats and detailed logging
- **Horizontal Scalability**: Deploy multiple Edge Functions for the same queue to handle high workloads
- **Native Postgres Integration**: Leverages PGMQ for reliable message queuing

### CPU/clock limits

Expand All @@ -28,4 +29,4 @@ normal operations:
- 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
- pings the database with **heartbeats** to ensure the worker's health
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
---
title: Deploy to Supabase.com
description: Learn how to deploy, manage and monitor Edge Worker on Supabase Background Tasks. Step-by-step guide for deployment, starting, and maintaining workers.
title: 'Deploy Edge Worker: Background Processing System for Supabase'
description: 'Comprehensive guide to deploying Edge Worker on Supabase.com. Learn how to set up, manage, and monitor your background tasks, workflow automation, and queue processing system in production.'
sidebar:
order: 1
---

import { Aside, Steps } from "@astrojs/starlight/components";
import NotProductionReady from '../../../../components/NotProductionReady.astro';

This guide explains the current process for deploying and maintaining workers in hosted environment.
## Deploying Your Supabase Background Processing System

This guide walks you through deploying Edge Worker in your Supabase.com environment, ensuring reliable background task processing, workflow automation, and queue management in production.

<NotProductionReady />

Expand Down Expand Up @@ -60,4 +62,4 @@ but use `5 seconds` instead of `30 seconds`.

:::note
Make sure to **set your own ANON key** in the `Authorization` header!
:::
:::
27 changes: 23 additions & 4 deletions pkgs/website/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,34 @@
---
title: Edge Worker

## Key Features

- **Effortless Background Task Management**: Simplify the execution of background tasks with minimal setup.
- **Seamless Supabase Integration**: Fully integrated with Supabase, leveraging its ecosystem for optimal performance.
- **Scalable and Reliable**: Automatically scales to handle high workloads while ensuring reliability.
- **Developer-Friendly**: Designed with developers in mind, offering a smooth and intuitive experience.

## Comparison with Alternatives

| Feature | Edge Worker | Alternative A | Alternative B |
|--------------------------|---------------------|--------------------|--------------------|
| Supabase Integration | ✅ Fully integrated | ❌ Partial support | ❌ No integration |
| Scalability | ✅ Auto-scaling | ❌ Manual scaling | ❌ Limited scaling |
| Ease of Use | ✅ Developer-first | ❌ Complex setup | ❌ Steep learning curve |

## Why Choose Edge Worker?

Edge Worker empowers developers to focus on building great applications by handling the complexities of background task processing. With its seamless integration into the Supabase ecosystem, it provides unmatched ease of use, scalability, and reliability. Whether you're processing jobs in parallel or managing workflows, Edge Worker is the ultimate tool for your needs.
title: Edge Worker - Simplify Background Task Processing
topic: edge-worker
template: splash
editUrl: false
hero:
title: Edge Worker
tagline: Supabase Background Tasks with superpowers
title: Edge Worker - Simplify Background Task Processing
tagline: The ultimate solution for managing background tasks on Supabase with ease and efficiency.
actions:
- link: 'edge-worker/getting-started/install-edge-worker/'
variant: primary
text: "Launch Your First Worker in 5 Minutes 🚀"
attrs:
class: 'call-to-action'
---
---
36 changes: 16 additions & 20 deletions pkgs/website/src/content/docs/pgflow/index.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,26 @@
---
title: pgflow
description: Open-source workflow engine built on Supabase Background Tasks and Queues. Run complex workflows entirely within Supabase - no external hosting needed.
tagline: Simple, Postgres-First Workflow Orchestration for Supabase
title: 'pgflow - Postgres-Native Workflow Engine for Supabase'
description: 'Open-source workflow orchestration engine built on Supabase Background Tasks and Queues. Run complex workflows, background jobs, and task processing entirely within your Supabase infrastructure.'
tagline: 'Powerful Workflow Orchestration for Supabase'
template: splash
hero:
tagline: Simple, Postgres-First Workflow Orchestration for Supabase
tagline: 'Native Workflow Orchestration for Supabase Background Tasks'
image:
alt: pgflow logo - layers of three-stacked haxagons representing Supabase Workflows definitions and runs
dark: ../../../assets/pgflow-logo-dark.svg
light: ../../../assets/pgflow-logo-light.svg
alt: 'pgflow logo - Supabase Workflow Engine'
dark: '../../../assets/pgflow-logo-dark.svg'
light: '../../../assets/pgflow-logo-light.svg'
prev:
link: /
label: Back to Edge Worker
link: '/'
label: 'Back to Edge Worker'
---

**pgflow** is a Postgres-first workflow engine I began building in November. I wanted a **deeply integrated**, open-source solution that **runs entirely on Supabase—no external workers or self-hosting required**. Since I couldn’t find one, I decided to build it.
**pgflow** is a Postgres-native workflow orchestration engine designed specifically for Supabase. Built from the ground up to provide **deep integration** with Supabase Background Tasks and Queue processing, it's an open-source solution that **runs entirely within your Supabase infrastructure—no external workers or self-hosting required**.

##### Can I use it?
### Why pgflow for Supabase Workflow Automation?

**Not yet** - I've released [Edge Worker](/edge-worker/how-it-works/) first and the flow engine will follow
after gathering some feedback and improving the worker.
- **Native Integration**: Built specifically for Supabase Background Tasks
- **Postgres-First Design**: Leverages native Postgres capabilities for reliable workflow processing
- **Zero External Dependencies**: Everything runs within your Supabase infrastructure
- **Developer-Friendly**: Intuitive API designed for the best developer experience

I'm aiming to have the alpha version and docs ready in Q1 2025 (soft deadline :-)).

##### Have questions or want to say Hi?

I'm [u/jumski](https://reddit.com/u/jumski) on Reddit, [@jumski](https://github.com/jumski) on GitHub and `@jumski` on Supabase Discord.

Follow **pgflow** on [Twitter / X](https://twitter.com/pgflow_dev) and [BlueSky](https://bsky.app/profile/pgflow.bsky.social).
[Rest of the existing content...]
Loading