Procrastinate - PostgreSQL Task Queue for Python (Celery Alternative!)
- Procrastinate는 Celery의 대안으로 PostgreSQL 13+를 활용하는 Python용 태스크 큐입니다. 🚀
- PostgreSQL 13+의 고급 기능을 활용하여 태스크 정의 저장, 잠금 관리, 태스크 디스패치를 처리합니다. 🐘
- 동기 및 비동기 코드 모두에서 사용 가능하며, Django 통합, 주기적 태스크, 재시도, 임의 잠금 등을 지원합니다. ⚙️
- 기존에 PostgreSQL을 사용하는 스택이라면 Redis나 RabbitMQ 같은 추가 메시지 브로커 없이 스택을 단순화할 수 있습니다. 🧘
- Django 애플리케이션에 쉽게 통합되며, 전용
manage.py 명령어를 통한 워커 실행 및 로깅 설정이 가능합니다. 🌐
app.task 데코레이터로 태스크를 정의하고 defer 함수로 실행하여 Celery의 delay와 유사하게 작동합니다. ✨
- 태스크 실행을 위해
python manage.py procrastinate worker 명령어로 전용 워커 프로세스를 시작해야 합니다. 👷
- 내부적으로 필요한 테이블 생성을 위해 Django의
migrate 명령어를 실행해야 합니다. 💾
- 사용자 데이터를 CSV로 내보내는 실제 예시를 통해 즉시 실행 및 주기적 태스크 실행 방법을 시연했습니다. 📊
데브허브 | DEVHUB | Procrastinate - PostgreSQL Task Queue for Python (Celery Alternative!)