Flask 에서 Async 와 Await 사용하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 인기 있는 Python 웹 프레임워크인 Flask 에서 asyncawait를 사용하는 과정을 안내합니다. 비동기 뷰와 핸들러를 정의하고, async 코드를 사용할 때의 성능 영향을 이해하며, Flask 에서 백그라운드 작업을 탐색하는 방법을 배우게 됩니다.

참고: 코드 파일을 직접 생성하고 환경에서 실행해야 합니다. Web 5000 에서 Flask 서비스 상태를 미리 볼 수 있습니다.

비동기 뷰 정의

Flask 에서는 async def 구문을 사용하여 뷰를 비동기 함수로 정의할 수 있습니다. 이렇게 하면 뷰 함수 내에서 await를 사용하여 비동기 작업을 수행할 수 있습니다.

@app.route("/get-data")
async def get_data():
    data = await async_db_query(...)
    return jsonify(data)

이 코드를 실행하려면 Python 파일 (예: app.py) 에 저장하고 Flask 개발 서버를 사용하여 파일을 실행하십시오.

flask run

요약

이 랩에서는 Flask 에서 asyncawait를 사용하여 비동기 뷰와 핸들러를 정의하는 방법을 배웠습니다. 또한 async 코드 사용, 백그라운드 작업, 그리고 async-heavy 코드베이스를 위한 Flask 의 대안으로 Quart 를 사용하는 것의 성능 영향에 대해서도 살펴보았습니다. 추가적으로, Flask 확장 기능과 async 뷰의 호환성 및 Flask 에서 다른 이벤트 루프를 사용할 가능성에 대해서도 배웠습니다.