# OpenWorkflow - Postgres 하나로 돌리는 오픈소스 워크플로 자동화 및 실행 플랫폼

> Clean Markdown view of GeekNews topic #24647. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24647](https://news.hada.io/topic?id=24647)
- GeekNews Markdown: [https://news.hada.io/topic/24647.md](https://news.hada.io/topic/24647.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-11-27T09:31:01+09:00
- Updated: 2025-11-27T09:31:01+09:00
- Original source: [github.com/openworkflowdev](https://github.com/openworkflowdev/openworkflow)
- Points: 19
- Comments: 2

## Summary

**OpenWorkflow**는 **PostgreSQL 하나만으로 동작하는 TypeScript 기반 워크플로 자동화 플랫폼**으로, 서버 재시작이나 배포 후에도 정확히 마지막 단계부터 복구되는 **내구성 있는 실행 모델**을 제공합니다. 각 스텝이 **한 번만 실행되고 결과가 메모이즈**되기 때문에, 결제나 이메일 발송 같은 부작용을 안전하게 제어할 수 있습니다. 별도 서버 없이 **워커 프로세스**만 띄워도 고가용성과 스케일아웃이 가능하며, **OpenAI·Slack·GitHub·Notion** 등 주요 SaaS와의 통합도 지원합니다. 단일 DB로 워크플로 엔진을 구현했다는 점이 특히 흥미로운데, 복잡한 인프라 없이 **신뢰성 있는 자동화 시스템**을 구축하려는 팀에게 매력적인 선택이 될 듯합니다.

## Topic Body

- "TypeScript로 작성된 **내구성 있는(durable), 재개 가능한(resumable) 워크플로 프레임워크**"  
- 다양한 **서비스와 API를 연결**해 복잡한 업무 흐름을 자동화하는 **워크플로 엔진** 제공  
- **워크플로 자동화와 통합 문제**를 해결하기 위해 개발된 **모듈형 오픈소스 플랫폼**   
- 서버가 죽거나 배포가 있어도 Postgres에 상태를 저장해 정확히 마지막 스텝부터 다시 이어서 실행할 수 있음  
- 각 `step.run({ name }, fn)`이 **한 번만 실행되고 결과가 메모이즈**되기 때문에, 크래시 후 재시작 시 카드 결제·이메일 발송 같은 부작용을 중복 실행하지 않고 캐시된 결과를 재사용  
- 별도 전용 서버 없이 **워커 프로세스**(`ow.newWorker({ concurrency })`)가 DB에서 pending 런을 폴링하고 실행하는 구조라, 워커를 여러 개 띄워 고가용성·스케일아웃이 가능하고, `step.sleep("id", "1h")` 같은 **장기 sleep**도 워커 슬롯을 점유하지 않음  
- 워크플로 입력/출력 제너릭, 버전 필드(`version: "v2"`), `run().result()`, `handle.cancel()` 등을 통해 **타입 안전한 정의·버전 관리·결과 조회·취소**를 모두 코드 레벨에서 다룰 수 있게 설계됨  
- **플러그인 아키텍처**를 통해 외부 시스템과의 확장 및 커스터마이징 지원  
- **OpenAI, Slack, GitHub, Notion** 등 주요 SaaS 및 개발 도구와의 통합 지원  
- 현재는 **PostgreSQL 백엔드와 기본 런타임 기능(동시 실행, 리트라이, 평행 step, sleep, 버전 관리, cancel)** 에 집중  
  - 이후 **CLI·대시보드·idempotency key·롤백/보상 함수·신호(signals)·OpenTelemetry·Redis/SQLite 백엔드·Go/Python SDK** 등이 로드맵에 올라와 있음

## Comments



### Comment 46881

- Author: hiyama
- Created: 2025-11-27T19:46:00+09:00
- Points: 1

얼마 전에 GitHub - earendil-works/absurd: An experiment in durability https://share.google/PCjaLh3j46ayECI9b 이게 올라와 있었는데... 같은 컨셉인 프로젝트로 보이는데 어디갔죠...

### Comment 46851

- Author: click
- Created: 2025-11-27T09:35:36+09:00
- Points: 1

spring batch와 비슷한 느낌이 드네요
