워커 장애 후 백그라운드 작업 완료하기는 짧은 Python 함수를 읽을 수 있는 학습자를 위한 DevOps 실습 프로젝트입니다. Nightjar Print Studio의 실제 참가 등록을 사용하고 다운로드할 수 있는 입장권으로 바꿉니다. 메시지 수신, 업무 커밋, 전달 확인 사이에서 워커가 멈추는 상황을 다룹니다.
가이드 실습 하나에서 정상 고객 경로, 확인 시점, 트랜잭션 멱등성을 배웁니다. 독립 챌린지 하나는 대기 등록, 반복 전달, 같은 이름의 참가자, 보존할 기존 표를 결합합니다. 각 단원은 독립적으로 준비된 환경에서 시작합니다.
학습 내용
- 실제 등록이 RabbitMQ를 거쳐 입장권 페이지와 다운로드로 이어지는 과정 추적하기.
- 데이터베이스 커밋 후 확인하여 중단된 작업이 다시 전달되도록 하기.
- ID 완료 키와 입장권을 같은 SQLite 트랜잭션에 기록하기.
- 중복 전달과 이름은 같지만 ID가 다른 등록 구분하기.
- 중단 구간을 재현하고 다른 참가자를 초기화하지 않고 실수로 만든 중복 표를 명시적으로 복구하기.
추천 대상
백그라운드 작업의 신뢰성을 탐구하는 DevOps 학습자와 애플리케이션 개발자를 위한 중급 프로젝트입니다. 기본 터미널 사용과 Python 함수, 들여쓰기, 사전 조회를 읽는 능력이 필요합니다. 짧은 연결 설명에서 이를 복습하고 사용하는 SQL과 트랜잭션 동작을 소개합니다.
RabbitMQ, Python, SQLite, 완성된 Nightjar 사이트가 브라우저에 준비되어 있습니다. 작은 핸들러만 수정하며 사이트 개발이나 서비스 설치는 필요 없습니다. 문서는 9개 언어로 제공되며 실행 사이트, 인터페이스 이름, 명령 출력은 영어로 유지됩니다.
자주 묻는 질문
외부 계정이나 로컬 설치가 필요한가요?
아닙니다. 준비된 교육용 서비스와 가상 참가자만 사용합니다. 결제, 이메일, 외부 전달은 없습니다.
정확히 한 번 처리를 보장하나요?
아닙니다. RabbitMQ는 다시 전달할 수 있습니다. 트랜잭션은 이 SQLite 데이터베이스의 입장권 결과에 대해 같은 ID 반복 처리를 안전하게 합니다. 외부 이메일, 결제, broker 장애, 운영 고가용성은 추가 설계가 필요합니다.
학습 중 중복 표를 만들면 어떻게 하나요?
실습은 ID 범위의 명시적 미리 보기와 복구를 가르치며 가장 이른 원본 표와 다른 참가자를 보존합니다. 채점은 실제 작업을 복구하거나 소비하지 않고 고객 결과를 읽으며 격리된 일회성 대상에서 핸들러를 시험합니다.




