EN
프로젝트로 돌아가기
LIMS — 검체 분석 워크플로우 관리

LIMS — 검체 분석 워크플로우 관리

분석 파이프라인의 디커플링·검체 lifecycle 동시성 안전·장시간 작업의 시간 경계 정책을 동시에 만족시키도록 운영 중에도 단계적으로 정렬해 온 LIMS 백엔드

2025년 5월 - 2026년 1월 8개월

기술 스택

PythonDjangoDRFPostgreSQLCeleryRedisNGINXDocker

개요

의뢰인이 보낸 검체를 접수해 분석·결과 검증·보고서 전달까지 다루는 실험실 운영 워크플로우를 디지털화하는 LIMS(Laboratory Information Management System) 백엔드입니다. 통상적인 LIMS와 마찬가지로 검체 등록 → 바코드 부여 → 시료 전처리 → 검사 실행 → QC → 결과 분석 → 보고서 생성 → 결과 전달의 전체 lifecycle을 단일 시스템에서 다루고, 모든 상태 전이는 chain of custody 차원에서 추적 가능해야 합니다.

LIMS는 일반 웹 서비스보다 까다로운 운영 특성을 갖습니다 — 분석 파이프라인은 원격 호스트에서 수십 분~몇 시간 단위로 도는 장시간 작업이고, 한 검체의 lifecycle은 여러 운영자가 병렬로 다루는 다단계 상태 전이이며, 외부 분석 호스트나 NFS가 정지하면 작업이 무한 대기로 적체됩니다. 백엔드 운영을 이어가면서 분석 파이프라인의 디커플링, 검체 lifecycle의 동시성 안전, 장시간 작업의 시간 경계 정책 세 가지를 핵심 결정 기준으로 잡고 그에 맞춰 구조를 정렬해 왔습니다.

기술 스택

역할

Backend Developer로 참여해 분석 파이프라인 dispatch 구조 정비, 검체 lifecycle state machine 정합성, 큐·워커 격리, 시스템 로그·식별자 체계 정리까지 서버 측 운영 전반을 담당하고 있습니다. 운영 중 안정성을 해치지 않는 선에서 LIMS 도메인 요건을 단계적으로 반영하는 것이 일관된 작업 방식입니다.

주요 기여

트러블슈팅

의의

장시간 분석 파이프라인, 다단계 검체 lifecycle, chain of custody 요건이 동시에 작용하는 LIMS 도메인에서, 백엔드 구조를 디커플링·동시성 안전·시간 경계 세 축으로 정렬해 본 사례입니다. “SSH 세션에 분석 수명을 묶지 않는다”, “검체 상태 전이는 row-level lock으로 직렬화한다”, “장시간 작업은 시스템 차원의 timeout 가드로 끊는다” 같은 결정들이 같은 시스템 안에서 일관되게 굴러가도록 정렬한 점이 가장 만족스러웠습니다.

모든 프로젝트 보기
Close