codex exec 프로세스를 백그라운드로 N개 동시에 띄워서,
이미지든 임의 작업이든 나눠 대량으로 뽑는다.
처리량은 스폰 개수 하나로 조절한다.
골격은 같다. codex exec를 워커 풀로 묶어 PARALLEL 하나로 처리량을 정한다. 차이는 결과를 어떻게 회수하느냐다.
gpt-image-2로 이미지를 대량생성한다. codex가 세션 폴더에 떨군 PNG를 회수하는데, 병렬일 때 워커끼리 결과를 채가는 레이스가 있어 claimed 락으로 1:1을 보장한다.
코드 수정·분석·요약·리뷰 등 임의 작업을 나눠 돌린다. 결과를 -o로 작업별 파일에 직접 받으므로 회수 레이스가 없다. --output-schema로 구조화 출력도 받는다.
Codex CLI 로그인 상태면 바로 된다. 스폰 수는 3~6에서 시작해 머신 부하와 429를 보며 올린다.
# 임의 작업 — tasks.jsonl = 한 줄당 {id, prompt, cwd?, schema?} PARALLEL=4 TASKS=examples/tasks.jsonl SANDBOX=read-only \ python3 runners/codex_spawn_runner.py # 이미지 — manifest.jsonl = 한 줄당 {id, prompt, ar, size, output_path} PARALLEL=3 PROMPTS=examples/manifest.jsonl OUTDIR=./out \ python3 runners/codex_imagegen_runner.py
전부 한 번씩 밟아보고 정리한 것들이다.
claimed 집합 + 락으로 막는다.pkill -f codex_spawn_runner는 그 명령을 실행한 셸 자신을 죽인다. 프로세스를 한정해서 죽인다.