በPython ውስጥ በitertools.cycle የ round-robin ፕሮክሲ ምርጫ
ከተወሰነ ገንዳ ውስጥ ተመላሽ የሚሆን ኢተሬተር በመጠቀም ሊተነበይ የሚችል የፕሮክሲ ምርጫ ይፍጠሩ፤ ምርጫው ከጥያቄ አፈጻጸምና ከጤና ግምገማ ይለይ።
ለተወሰነ ገንዳ፣ የ round-robin ምርጫ በጣም አጭር ሊሆን ይችላል፦
from itertools import cycle
choices = cycle([
"http://proxy-a.example:8080",
"http://proxy-b.example:8080",
"http://proxy-c.example:8080",
])
endpoint = next(choices)
የናሙና ዩአርኤሎቹን ከአገልግሎትዎ ወይም ከ HTTP ፕሮክሲ ዝርዝር በሚገኙ የHTTP መዳረሻዎች ይተኩ። ተከታታይ ጥሪዎች A፣ B፣ C፣ ከዚያ እንደገና A ይመልሳሉ። የተመረጠውን እሴት ቀጣዩን ጥያቄ ሲያዘጋጁ ይጠቀሙበት። ኢተሬተሩን ለእያንዳንዱ ጥያቄ እንደገና መፍጠር ቅደም ተከተሉን እንደገና ይጀምራል። ለRequests፣ የተመረጠውን መዳረሻ ወደ ጥያቄው ያስገቡ።
ዝርዝር ከመረጡ፣ የፊተኛውን ንጥል ወደ ኋላ ያንቀሳቅሱ። pool.append(pool.pop()) የመጨረሻውን ንጥል አውጥቶ ወዲያውኑ ይመልሰዋል፤ የመጀመሪያው ንጥል በፍጹም አይለወጥም። የወረፋ ክዋኔው pool.append(pool.pop(0)) ነው፣ ነገር ግን ከፊት ማስወገድ ቀሪዎቹን የዝርዝር አካላት ያንቀሳቅሳል።
ኢተሬተሩ ሆን ተብሎ አነስተኛ ሥራ አለው። አስተማማኝነትን አያረጋግጥም፣ ያልተሳኩ ግቤቶችን አያስወግድም ወይም የተለየ የውጭ መውጫ አያረጋግጥም። በርካታ መዳረሻዎች አንድ የውጭ አድራሻ ሊጋሩ ይችላሉ።
የድጋሚ ሙከራ ፖሊሲንና የገንዳ ዝመናዎችን ከዚህ ትንሽ መራጭ ውጭ ያስቀምጡ። የተጋራ ኢተሬተርም በተመሳሳይ ጊዜ በሚሠራ ኮድ ውስጥ ሆን ተብሎ የተዘጋጀ የባለቤትነት ሞዴል ይፈልጋል፣ የተመረጠው መዳረሻ ከተቀበለው ክዋኔ ጋር እንዲጣበቅ።