Repolode
dbos-inc

dbos-inc/dbos-transact-py

Postgres에 상태를 체크포인트로 저장해 프로그램에 내구성 있는 워크플로와 작업 큐를 추가하는 Python 라이브러리입니다.

대체할 수 있는 제품:Temporal

스타
1,667
포크
116
열린 이슈
8
마지막 커밋
4일 전

어떤 프로젝트인가요?

DBOS Transact는 내구성 있는 워크플로를 만들기 위한 오픈소스 Python 라이브러리입니다. 일반 함수를 워크플로와 단계로 지정하면 라이브러리가 진행 상태를 Postgres에 체크포인트로 저장합니다. 프로세스가 충돌하거나 재시작되더라도 처음부터 다시 시작하는 대신 마지막으로 완료된 단계부터 워크플로를 이어서 실행합니다.

이 라이브러리는 Postgres를 기반으로 내구성 있는 큐, 스케줄링, 알림 기능도 제공합니다. 워크플로에서 큐에 등록한 작업은 중단이 발생하더라도 완료가 보장되며, 결과를 호출자에게 반환합니다. 큐는 동시성 제한, 속도 제한, 타임아웃, 중복 제거, 우선순위 지정을 지원합니다. Cron 기반 스케줄과 내구성 있는 sleep을 사용하면 워크플로가 며칠 또는 몇 주 동안 대기할 수 있습니다.

별도의 오케스트레이터, 메시지 브로커, 큐 서비스는 필요하지 않습니다. 필요한 인프라는 Postgres 데이터베이스뿐입니다. 워크플로는 Postgres의 행으로 저장되므로 클라이언트 API를 통해 조회하거나 일시 중지, 재개할 수 있고, 특정 단계에서 분기할 수도 있습니다.

핵심 기능

  • 01워크플로와 단계의 상태를 Postgres에 체크포인트로 저장해 프로세스 장애 후에도 실행을 이어갑니다.
  • 02동시성 제어, 속도 제한, 타임아웃, 중복 제거, 우선순위 기능을 갖춘 내구성 있는 작업 큐입니다.
  • 03재시작 후에도 유지되는 Cron 기반 스케줄링과 내구성 있는 sleep을 지원합니다.
  • 04메시지가 도착할 때까지 워크플로를 일시 중지할 수 있도록 내구성 있는 알림과 이벤트를 제공합니다.
  • 05워크플로를 조회, 일시 중지, 재개하고 분기할 수 있는 프로그래밍 방식의 클라이언트를 제공합니다.

활용 사례

  • 서버가 작업 도중 충돌하더라도 완료되어야 하는 결제 또는 주문 처리.
  • 처음부터 다시 시작하는 대신 체크포인트부터 재개하는 장시간 실행 데이터 파이프라인.
  • 불안정하거나 비결정적인 API를 호출하는 AI 에이전트 운영.
  • 백그라운드에서 웹훅 또는 Kafka 메시지를 정확히 한 번 처리.

빠른 시작

  1. 1

    빠른 시작 가이드에 따라 라이브러리를 설치하고 Postgres 데이터베이스에 연결하세요

  2. 2

    함수에 @DBOS.workflow()와 @DBOS.step()을 추가해 내구성을 확보하세요

사용 전 알아둘 점

  • 워크플로 상태를 저장하려면 Postgres 데이터베이스가 필요합니다.
  • Python 전용 라이브러리이므로 다른 언어는 지원하지 않습니다.

포함된 컬렉션

토픽

자주 묻는 질문

dbos-transact-py은(는) 무엇인가요?
Postgres에 상태를 체크포인트로 저장해 프로그램에 내구성 있는 워크플로와 작업 큐를 추가하는 Python 라이브러리입니다. DBOS Transact는 내구성 있는 워크플로를 만들기 위한 오픈소스 Python 라이브러리입니다. 일반 함수를 워크플로와 단계로 지정하면 라이브러리가 진행 상태를 Postgres에 체크포인트로 저장합니다. 프로세스가 충돌하거나 재시작되더라도 처음부터 다시 시작하는 대신 마지막으로 완료된 단계부터 워크플로를 이어서 실행합니다.
dbos-transact-py은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
dbos-transact-py은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
dbos-transact-py은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. dbos-transact-py의 마지막 커밋은 2026년 11월 4일입니다.
dbos-transact-py은(는) 어디에 사용할 수 있나요?
서버가 작업 도중 충돌하더라도 완료되어야 하는 결제 또는 주문 처리. 처음부터 다시 시작하는 대신 체크포인트부터 재개하는 장시간 실행 데이터 파이프라인. 불안정하거나 비결정적인 API를 호출하는 AI 에이전트 운영. 백그라운드에서 웹훅 또는 Kafka 메시지를 정확히 한 번 처리.
dbos-transact-py는 어떻게 설치하나요?
빠른 시작 가이드에 따라 라이브러리를 설치하고 Postgres 데이터베이스에 연결하세요 함수에 @DBOS.workflow()와 @DBOS.step()을 추가해 내구성을 확보하세요
dbos-transact-py은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dbos-inc/dbos-transact-py

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트