Ein proxypulur kann hava endapunkta við sera ólíkum kapasiteti. At loyva 50 operatiónum í applikatiónini forðar ikki fyri at 49 av teimum velja somu proxy.

Um politikkurin er “í mesta lagi 4 operatiónir í gongd gjøgnum hvørja valda proxy”, tak politikkin beinleiðis. Halt eina semaforu fyri hvørja proxy-samleika, og tak hana uttan um arbeiðið, sum brúkar kapasitetin hjá proxynni.

limits = {proxy: asyncio.Semaphore(4) for proxy in proxy_urls}

async def fetch(session, proxy, url):
    async with limits[proxy]:
        async with session.get(url, proxy=proxy) as response:
            return await response.read()

Henda skitsan gongur út frá at asyncio er innflutt og at proxy-URL'irnar eru váttaðar. Fyri almenna fyrispurningar á eini loyvdari almennari proxy-leið útvegar HTTP-proxylistin umsøkjarar til proxy-URL'ir aiohttp. Ein verulig applikatión eigur eisini at seta sína egna fyrispurnartíðarmark og avgreiða, hvussu nógv svar-data hon þarf. At lesa eina stóra fílu heilt inn í minnið er ein serstakur tilfeingisavgreiðsla.

Halt loyvið fyri tann dýra partin

At sleppa semaforuni so skjótt sum svarhøvdið kemur kann beina fyri ætlaða markið. Ein streymandi likamur kann halda fram at brúka sambandið langt seinni. Halt loyvið, til likamurin er brúktur ella svarið er latið aftur eftir arbeiðsflæðinum hjá applikatiónini.

Tey innbygddu samhengsstjórnararnir gera uppreinsing sjónliga, tá ein undantøk ella avlýsing fer úr operatiónini. Forða tær frá at taka handvirkt og sleppa bara niðast í eini eydnaðari funktión.

Sambandsmørk svara eini aðrari spurningi

Sambandsmørk aiohttp-connectorsins avmarka sambond eftir skjalfestu reglum connectorsins. Tey vera nyttig saman við eini applikatións-semaforu. Eitt sambandsmak fyri hvørja ferð í sær vísir ikki, bert av sínum navni, eina veiting, sum allar ferðir, ið eru tilnevndar eini proxy, deila.

Greina eisini samtíð frá fyrispurnartíðindum. 4 langlív fyrispurningar og 4 sera stuttir fyrispurningar brúka somu samtíðarloyvi, meðan teir geva ymisk fyrispurningar-fyri-sekund-tíðindi. Ein tænasta við tíðindapolitikki kann krevja taktging ella eina serstaka tíðindamarkari.

Vel ein støðugan, ikki-loyniligan proxy-identifikator til loggar og mátingar. Um tveir URL'ir við loyvum vísa til sama kapasitetspul, avgreið, um tær skulu deila eina veiting. Tvørturímóti kunnu ymisk port ella konti umboða serstøk mørk, tá ið rakstrarmaðurin skjalfestar tey soleiðis.

Tá ígongdin minkar, granska hvar arbeiðið bíðar: í tíni semaforu, í connectornum, í uppsetingini av proxysambandinum ella í lesing av svarum. At hækka øll mørk í einum ferð ger tað skilmarkið torført og kann flyta bíðirøðina inn í eina proxy, sum tú ikki stýrir.

Skyldar greinar