01백엔드
2026년 7월FastAPI 기반 화재·연기 실시간 탐지 및 비식별화 API
YOLO 모델을 활용한 화재·연기 탐지와 동시에 사람·차량 번호판을 자동 비식별화하는 FastAPI 기반 추론 서버
이 프로젝트에서의 Asyncio 활용
비동기 이미지 처리 및 외부 API 호출
firescout-3.0-detection-api프로젝트 자세히 보기 →
프로젝트 1개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
Python에서 단일 스레드로 동시성을 구현하는 비동기 I/O 표준 라이브러리
asyncio는 Python 3.4부터 표준 라이브러리에 포함된 비동기 프로그래밍 프레임워크입니다. 네트워크 요청, 파일 I/O, 데이터베이스 쿼리 등 대기 시간이 긴 작업을 처리할 때, 멀티스레드 없이도 여러 작업을 동시에 실행할 수 있게 해줍니다. 이벤트 루프를 기반으로 작업을 스케줄링하며, async/await 문법을 통해 비동기 코드를 동기 코드처럼 직관적으로 작성할 수 있습니다.
3개의 HTTP 요청을 순차적으로 기다리지 않고 동시에 보내 전체 실행 시간을 단축합니다. asyncio.gather()로 여러 Task를 동시에 실행하고 모든 결과를 수집합니다.
import asyncio
import aiohttp
async def fetch_url(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
urls = [
'https://example.com',
'https://example.org',
'https://example.net'
]
async with aiohttp.ClientSession() as session:
# 3개 요청을 동시에 실행
tasks = [fetch_url(session, url) for url in urls]
results = await asyncio.gather(*tasks)
print(f"총 {len(results)}개 페이지 다운로드 완료")
# 이벤트 루프 실행
asyncio.run(main())위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
YOLO 모델을 활용한 화재·연기 탐지와 동시에 사람·차량 번호판을 자동 비식별화하는 FastAPI 기반 추론 서버
이 프로젝트에서의 Asyncio 활용
비동기 이미지 처리 및 외부 API 호출
위 프로젝트들에서 같이 쓰인 다른 기술입니다.