비동기 요청(Python)
마지막 업데이트: 2024년 7월 20일
- 주제:
- APIs/SDKs
작성 대상:
- 개발자
설명
서버 측 통합의 한 가지 이점은 병렬 처리를 사용하여 서버 측에서 사용할 수 있는 엄청난 대역폭과 컴퓨팅 리소스를 활용할 수 있다는 것입니다. Target Python SDK는 비동기 요청을 지원하므로 유효 대상 시간을 0으로 줄일 수 있습니다.
지원되는 메서드
Python
get_offers(options)
send_notifications(options)
get_attributes(mbox_names, options)
예
Python 3.9+에서 asyncio
모듈의 비동기/대기를 사용하는 샘플 응용 프로그램은 다음과 같이 표시될 수 있습니다.
Python
async def execute_mboxes(self, mboxes):
context = Context(channel=ChannelType.WEB)
execute = ExecuteRequest(mboxes=mboxes)
delivery_request = DeliveryRequest(context=context, execute=execute)
get_offers_options = {
"request": delivery_request
}
return await asyncio.to_thread(target_client.get_offers, get_offers_options)
async def get_target_delivery_response(mboxes):
target_delivery_response = await execute_mboxes(mboxes)
response = Response(target_delivery_response.get("response").to_str(), status=200, mimetype='application/json')
return response
mboxes = [MboxRequest(name="a1-serverside-ab", index=1)]
return asyncio.run(get_target_delivery_response(mboxes)
이 예제에서는 사용자가 Python 3.9 이상을 사용하고 있다고 가정합니다. 이전 버전의 Python을 사용하는 경우에도 options.callback
을(를) get_offers
에 전달하여 비동기 요청을 보낼 수 있습니다. 콜백 또는 비동기/await, 여기를 사용한 비동기 실행에 대한 자세한 내용은 샘플 Flask 앱을 확인하십시오.
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3