Asynkrona begäranden (Python)

Beskrivning

En fördel med integration på serversidan är att du kan utnyttja den enorma bandbredd och de datorresurser som finns tillgängliga på serversidan genom att använda parallellitet. Target Python SDK har stöd för asynkrona begäranden, vilket kan minska den effektiva måltiden till noll.

Metoder som stöds

Python

get_offers(options)
send_notifications(options)
get_attributes(mbox_names, options)

Exempel

Ett exempelprogram som använder asyncio-modulens asynkrona/förväntade i Python 3.9+ kan se ut så här:

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)

I det här exemplet antas du använda Python 3.9+. Om du använder en äldre version av Python kan du fortfarande skicka asynkrona begäranden genom att skicka in options.callback till get_offers. Titta i exempelappen Flash om du vill ha mer information om asynkron körning med antingen återanrop eller asynkron/await, här.

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3