Nuair a tha grunn snìomhan a' roinn cruinneachadh beag proxy, dh'fhaodadh taghadh inntrigidh air thuaiream an aon proxy a thoirt do dhà obair ghnìomhach. Faodaidh ciudha na h-inntrigidhean a tha rim faighinn air iasad an-dràsta a chumail:

from contextlib import contextmanager
from queue import Queue

available = Queue()
for endpoint in dict.fromkeys(proxy_urls):
    available.put(endpoint)

@contextmanager
def borrow_proxy():
    endpoint = available.get(timeout=5)
    try:
        yield endpoint
    finally:
        available.put(endpoint)

def process_url(url):
    with borrow_proxy() as endpoint:
        return fetch_one(url, endpoint)

Tog an ciudha aon turas, mus tòisich na snìomhan obrach. Tha URLan làn-chrìochnaiche ann an proxy_urls. Tha tagraichean poblach rim faighinn anns an liosta proxy an-asgaidh; cleachd am protocol agus an cruth URL a tha fetch_one a' cumail taic ris. Feumaidh an gnìomh sioncronaichte fetch_one a tha ann mar-thà a obair lìonra a chrìochnachadh agus freagairt sam bith a dhùnadh mus till e. Rud eile, chrìochnaicheadh an aonta-faire fhad 's a tha an ceangal fhathast a' cleachdadh a' phroxy sin.

Bheir Queue.get air falbh aon inntrigeadh a tha ri fhaighinn gu h-adamhach. Bidh cruinneachadh falamh a' feitheamh an àite a bhith a' sganadh brataichean co-roinnte a-rithist is a-rithist. Mura tig inntrigeadh sam bith taobh a-staigh còig diogan, ruigidh queue.Empty an neach-ghairm; tagh poileasaidh ath-dhearbhaidh, fàilligidh no cur-à-bhàird na h-aplacaid airson an toraidh sin.

Bheir am bloc finally inntrigeadh a chaidh fhaighinn air ais às dèidh soirbheachais no eisgeachd. Chan eil e ag ràdh gu bheil ceann-uidhe a dh'fhàillig fallain. Feumaidh poileasaidhean cuarantain, ionaid agus fuarachaidh slighe fhollaiseach an àite a bhith a' tilgeil gu sàmhach a h-uile proxy a chì mearachd sealach.

Bidh dì-bhleith na h-aon sreangan URL a' cur casg air inntrigidhean dùbailte sa chiudha. Faodaidh URLan eadar-dhealaichte fhathast iomradh a thoirt air an aon proxy fiosaigeach no ionad-fàgail; cuir còmhla iad a dh'aona ghnothaich ma dh'fheumas eisdealachd buntainn ris a' ghoireas cho-roinnte sin. Bidh an ciudha a' co-òrdanachadh shnìomhan sa phròiseas seo, chan e luchd-obrach air innealan eile.

Artaigilean co-cheangailte