In proxypool kin einpunten befetsje mei hiel ferskillende kapasiteit. Fyftich operaasjes yn 'e hiele applikaasje tastean foarkomt net dat 49 fan har deselde proxy kieze.

As it belied “op syn heechst 4 operaasjes ûnderweis fia elk selektearre proxy” is, druk dat belied dan direkt út. Hâld in semafoar foar elke proxy-identiteit, en krij it om it wurk hinne dat de kapasiteit fan 'e proxy ferbrûkt.

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()

Dizze skets giet derfan út dat asyncio ymportearre is en dat de proxy-URL's falidearre binne. Foar iepenbiere oanfragen op in tastiene iepenbiere proxy-romte leveret de HTTP-proxylist kandidaten foar de proxy-URL's fan aiohttp. In echte applikaasje moat ek syn eigen oanfraachtime-out ynstelle en beslute hoefolle antwurdgegevens it nedich hat. In grut bestân folslein yn it ûnthâld lêze is in aparte boarnenbeslissing.

Hâld de tastean foar it djoere part

It semafoar frijlitte sadree't de antwurdkoppen oankomme kin de bedoelde grins tsjinwurkje. In streamend lichem kin de ferbining noch lang dêrnei brûke. Hâld de tastean oant it lichem ferbrûkt is of it antwurd sletten is neffens de wurkstream fan 'e applikaasje.

De nêste kontekstbehearders meitsje it opromjen sichtber as in útsûndering of annulearring de operaasje ferlit. Foarkom it hânmjittich krijen en allinnich oan 'e ûnderkant fan in slagge funksje frijlitte.

Ferbiningsgrinzen beantwurdzje in oare fraach

De connector-grinzen fan aiohttp beheine ferbiningen neffens de dokumintearre regels fan 'e connector. Se bliuwe nuttich njonken in applikaasjesemafoar. In ferbiningsgrins per bestimming drukt allinnich troch syn namme gjin budzjet út dat dield wurdt troch alle bestimmingen dy't oan ien proxy tawiisd binne.

Underskied ek gearrinning fan oanfraachtempo. 4 langlibbene oanfragen en 4 tige koarte oanfragen brûke deselde gearrinningsfergoeding, wylst se ferskillende oanfragen-per-sekonde-tempo's produsearje. In tsjinst mei in tempobelied kin pacing of in aparte tempobeheinder nedich wêze.

Kies in stabyl, net-geheim proxy-identifikaasje foar lochs en metriken. As twa URL's mei legitimaaasjes nei deselde kapasiteitspool ferwize, beslute dan oft se ien budzjet diele moatte. Oarsom kinne ferskillende poarten of akkounts aparte grinzen fertsjintwurdigje as de operator se sa dokumintearret.

As de trochstreaming sakket, ûndersykje wêr't wurk wachtet: jo semafoar, de connector, it opstellen fan 'e proxyferbining, of it lêzen fan antwurden. Alle grinzen tagelyk ferheegje makket dat ûnderskied dreech en kin de wachtrige ferpleatse nei in proxy dy't jo net behearskje.

Relatearre artikelen