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.

Maqaallo la xiriira