Round-robin proxy-val í Python við itertools.cycle
Nýt eina endurtakandi iterator til at velja proxy fyribils úr einum fastum pooli, og halt valið skilt frá avrikaframførslu og heilsu.
Fyri ein fastan pool kann round-robin-val vera hugnaliga stutt:
from itertools import cycle
choices = cycle([
"http://proxy-a.example:8080",
"http://proxy-b.example:8080",
"http://proxy-c.example:8080",
])
endpoint = next(choices)
Skift út dømis-URL'um við HTTP-endapunktum úr tænastuni tíni ella úr HTTP-proxy-listanum. Á eftirfarandi køllum fært tú A, B, C og so A aftur. Nýt tað valda virðið, tá tú stillir næstu avrikið. Um tú býrt iteratorin uppaftur fyri hvørt avrik, byrjar raðfølgin av nýggjum. Fyri Requests, lat tað valda endapunktið fylgja við avrikinum.
Um tú heldur dámar eina list, flyt fyrsta stak hennara til endan. pool.append(pool.pop()) tekur seinasta stak burt og setur tað beint aftur; fyrsta stakið broytist ongantíð. Kogra-handlingin er pool.append(pool.pop(0)), men at taka burt fremst flytir hini listastakini.
Iteratorin hevur eina við vilja spakuliga uppgávu. Hon eftirkannar ikki tøkuleika, tekur ikki burt miseydnaðar førslur og tryggjar ikki eina aðra almenna útgongd. Fleiri endapunktir kunnu deila eina ytri adressu.
Halt endurtøku-politikk og pool-uppdateringar uttanfyri henda lítla vallara. Ein deild iterator trengur eisini ein víljandi eigaraskaparmodell í samtíðar-kota, so tað valda endapunktið verður verandi knýtt at teirri handling, sum móttók tað.