Doorashada proxy-ga round-robin ee Python oo leh itertools.cycle
Isticmaal iterator soo noqnoqda si loo doorto proxy la saadaalin karo oo ka yimaada barkad go'an, iyadoo doorashada laga soocay fulinta codsiga iyo caafimaadka.
Barkad go'an, doorashada round-robin waxay noqon kartaa mid si wanaagsan u gaaban:
from itertools import cycle
choices = cycle([
"http://proxy-a.example:8080",
"http://proxy-b.example:8080",
"http://proxy-c.example:8080",
])
endpoint = next(choices)
Ku beddel URL-yada tusaalaha HTTP endpoints-ka adeeggaaga ama liiska proxy-ga HTTP. Wicitaannada isdaba jooga waxay soo celiyaan A, B, C, ka dibna mar kale A. Isticmaal qiimaha la doortay marka aad diyaarinayso codsiga xiga. Dib u abuurista iterator-ka codsi kasta waxay dib u bilaabaysaa taxanaha. Requests, u gudbi endpoint-ka la doortay codsiga.
Haddii aad doorbidayso liis, u rar shayga ugu horreeya dhammaadka. pool.append(pool.pop()) wuxuu ka saaraa shayga ugu dambeeya oo isla markiiba dib u dhigaa; shayga ugu horreeya waligiis ma beddelo. Hawlgalka safka waa pool.append(pool.pop(0)), in kasta oo ka saarista hore ay dhaqaajiso shayyada liiska ee hadhay.
Iterator-ku wuxuu leeyahay hawlo si ula kac ah u yar. Ma hubiyo helitaanka, ma tirtiro gelitaannada fashilmay mana dammaanad qaadin bixitaan guud oo kale. Dhowr endpoint ayaa wadaagi kara hal cinwaan oo dibadda ah.
Ku hay siyaasadda isku-dayga iyo cusboonaysiinta barkadda meel ka baxsan doorashadan yar. Iterator la wadaago wuxuu sidoo kale u baahan yahay qaab lahaansho oo ula kac ah oo ku jira koodka isku mar ah si endpoint-ka la doortay uu ula xiriiro hawlgalka helay.