Ukukhethwa kwe-proxy ye-round-robin ku-Python nge-itertools.cycle
Sebenzisa isiphindaphindi esiphindayo ukuze uthole ukukhethwa kwe-proxy okungalindelekile kusuka kuqoqo eliqinile, ngokuhlukanisa ukukhetha ekusebenziseni isicelo kanye nempilo.
Kuqoqo eliqinile, ukukhetha kwe-round-robin kungaba kufushane ngendlela ejabulisayo:
from itertools import cycle
choices = cycle([
"http://proxy-a.example:8080",
"http://proxy-b.example:8080",
"http://proxy-c.example:8080",
])
endpoint = next(choices)
Shintsha ama-URL ayisibonelo ngamaphoyinti okugcina e-HTTP avela kusevisi yakho noma ohlwini lwe-HTTP proxy. Izingcingo ezilandelanayo zibuyisela u-A, B, C bese kuba u-A futhi. Sebenzisa inani elikhethiwe lapho uhlela isicelo esilandelayo. Ukudala isiphindaphindi kabusha kusicelo ngasinye kuzoqala kabusha ukulandelana. Kuma-Requests, dlulisa iphoyinti lokugcina elikhethiwe esicelweni.
Uma uthanda uhlu, hambisa into yawo yokuqala ekugcineni. pool.append(pool.pop()) isusa into yokugcina bese iyibuyisela ngokushesha; into yokuqala ayiguquki neze. Umsebenzi womugqa pool.append(pool.pop(0)), nakuba ukususa ngaphambili kususa ezinye izinto zohlu.
Isiphindaphindi sinomsebenzi omncane ngamabomu. Asihloli ukutholakala, asisusi okufakiwe okwehlulekile futhi asiqinisekisi omunye umnyango womphakathi ohlukile. Amaphoyinti amaningi okugcina angabelana ngekheli elilodwa langaphandle.
Gcina inqubomgomo yokuzama futhi nokubuyekezwa kweqoqo ngaphandle kwalesi sikhethi esincane. Isiphindaphindi esabiwe sidinga futhi imodeli yobunikazi ehlosiwe kukhodi ehambisana ngesikhathi ukuze iphoyinti lokugcina elikhethiwe lihlale lixhunywe emsebenzini owamukele.