더북(TheBook)

문제는 여기서 발생했습니다. 상태를 확인하는 시점과 실제로 요청을 할당하는 시점 사이에는 아무런 보장이 없었다는 점입니다.

async def distribute_request(request):
    index = get_next_index() # 순번 결정
    pod = pods[index]

    available = await is_pod_available(pod) # 상태 확인
    if available:
        await assign_request(pod, request)  # 할당
        return {"success": True, "assigned_to": pod.id}

    # 다음 파드 시도

이 코드는 문법적으로 완벽했음에도 문제가 발생했습니다.