DocumentatieDoelontwikkelaarsgids

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