subprocess 라이브러리를 이용해 코드를 백그라운드로 실행하여 병렬 처리하는 방법을 알아보겠습니다. Contents 1. 배경 회사에서 리눅스서버위에서 작업 스케쥴러와 함께 대규모 파이프라인을 돌리는 경우가 생겼습니다. 문제는 한 번 분석을 시작할 때, 분석 샘플들을 종류에 따라 나누어, 작업 스케쥴러를 돌려 병렬 처리할 스크립트가 달라진다는 점이었습니다. 즉, 분석 자동화 스크립트가 돌아갈 때, 샘플들을 종류별로 나누어, 파이프라인을 돌릴 쉘 스크립트들을 작업 스케쥴러에 병렬적으로 넣고, 한 샘플에 대해 여러 작업으로 나뉘어, 스크립트들이 큐에 쌓입니다. cfDNA 샘플은 샘플당 작업 큐에 쌓이는 스크립트만 100개가 넘고, PBMC 샘플은 30~40개 정도 됩니다. 한 배치에는 cfDNA가 80..