நிலையான தொகுப்புக்கு 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)

மாதிரி URL-களை உங்கள் சேவை அல்லது HTTP ப்ராக்ஸி பட்டியல்இல் உள்ள HTTP முனைப்புள்ளிகளுடன் மாற்றவும். தொடர்ச்சியான அழைப்புகள் A, B, C பின்னர் மீண்டும் A-ஐத் திருப்பித் தரும். அடுத்த கோரிக்கையை அமைக்கும்போது தேர்ந்தெடுத்த மதிப்பைப் பயன்படுத்தவும். ஒவ்வொரு கோரிக்கைக்கும் மீள்தொடரியை மீண்டும் உருவாக்கினால் வரிசை மீண்டும் தொடங்கும். Requests-க்கு, தேர்ந்தெடுத்த முனைப்புள்ளியைக் கோரிக்கைக்குள் அனுப்பவும்.

பட்டியலை விரும்பினால், அதன் முதல் உருப்படியை இறுதிக்கு நகர்த்தவும். pool.append(pool.pop()) கடைசி உருப்படியை அகற்றி உடனே திருப்பி வைக்கிறது; முதல் உருப்படி ஒருபோதும் மாறாது. வரிசைச் செயல்பாடு pool.append(pool.pop(0)), இருப்பினும் முன்பக்கத்திலிருந்து அகற்றினால் மீதமுள்ள பட்டியல் உறுப்புகள் நகர்கின்றன.

மீள்தொடரிக்கு வேண்டுமென்றே எளிய பணி உள்ளது. இது கிடைக்கும் தன்மையைச் சரிபார்க்காது, தோல்வியடைந்த பதிவுகளை அகற்றாது, வேறு பொது வெளியேற்றத்திற்கு உத்தரவாதம் அளிக்காது. பல முனைப்புள்ளிகள் ஒரே வெளிப்புற முகவரியைப் பங்கிடலாம்.

மீண்டும் முயலும் கொள்கையையும் தொகுப்பு புதுப்பிப்புகளையும் இந்தச் சிறிய தேர்வியிலிருந்து வெளியே வைத்திருங்கள். பகிரப்பட்ட மீள்தொடரிக்கு ஒரே நேரக் குறியீட்டில் வேண்டுமென்ற உரிமை மாதிரியும் தேவை, தேர்ந்தெடுத்த முனைப்புள்ளி அதைப் பெற்ற செயல்பாட்டுடன் இணைந்திருக்க.

தொடர்புடைய கட்டுரைகள்