Hacker News 의견
  • Graphile Worker 라이브러리와의 비교에 대한 질문
  • PostgreSQL 기반 작업 큐 라이브러리들이 공통 스키마를 공유할 가능성에 대한 생각
    • Elixir의 Oban 팬임
    • 여러 언어에서 Sidekiq 호환 라이브러리가 있는 것처럼 PostgreSQL 기반 작업 큐도 유사한 접근이 유익할 것임
    • Rust로 핵심 작업 큐 라이브러리를 개발하고 언어별 바인딩을 고려할 수 있음
  • Postgres를 모든 것에 사용하는 것을 지지하며, 프로젝트에서 이를 극대화하고 있음
    • 다단계 파이프라인, 팬 아웃 및 축적을 수행하는 Postgres 작업 큐를 원함
    • 구조적 관계형 데이터베이스가 이를 모델링하는 데 특히 적합함
    • listen/notify의 최대 페이로드 크기 8k가 제한적임
    • 스트리밍 테이블과 풍부한 타입 지원을 원함
  • Postgres에서 큐를 구현하는 것에 대한 좋은 PostgresFM 에피소드 추천
  • PgQueuer가 Postgres RPC 호출, 트리거 및 cronjobs(pg_cron)을 잘 통합함
  • River 라이브러리도 참고할 만함
    • 예약된 작업 등을 지원함
    • 디버깅을 위한 UI도 제공함
  • Broadcaster를 PUB/SUB 작업에 사용 중임
  • MySQL에서 가장 간단한 작업 큐 예시
    • update job_table set key=value where ... limit 1 구문 사용
    • 간단하고 원자적임
    • PostgreSQL은 update ... limit 구문을 허용하지 않음
  • MySQL 사용자지만 PostgreSQL을 탐구 중임
    • 많은 기능을 기본적으로 제공함
    • 매우 흥미로운 도구임
  • Procrastinate 라이브러리도 있음
    • PostgreSQL의 LISTEN/NOTIFY를 사용함(옵션으로 끌 수 있고 폴링 사용 가능)
    • 동기 및 비동기 작업, 주기적 작업, 재시도, 작업 잠금, 우선순위, 작업 취소/중단, Django 통합(옵션)을 지원함
    • Procrastinate의 공동 유지보수자임