Asynchrone verzoeken (Python)
Laatst bijgewerkt: 27 juli 2023
- Onderwerpen:
- APIs/SDKs
Gemaakt voor:
- Ontwikkelaar
Beschrijving
Een voordeel van integratie aan de serverzijde is dat u de enorme bandbreedte en computerbronnen die beschikbaar zijn aan de serverzijde kunt benutten door parallellisme te gebruiken. Target Python SDK ondersteunt asynchrone verzoeken, waardoor de effectieve doeltijd tot nul kan worden teruggebracht.
Ondersteunde methoden
Python
get_offers(options)
send_notifications(options)
get_attributes(mbox_names, options)
Voorbeeld
Een voorbeeldtoepassing waarin de asyncio
De async/wachttijd van de module in Python 3.9+ zou als volgt kunnen kijken:
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)
In dit voorbeeld wordt aangenomen dat u Python 3.9+ gebruikt. Als u een oudere versie van Python gebruikt, kunt u nog steeds asynchrone verzoeken verzenden door options.callback
tot get_offers
. Bekijk de voorbeeldtoepassing Flask voor meer informatie over asynchrone uitvoering met callbacks of async/await. hier.
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3