Për një grup fiks, zgjedhja round-robin mund të jetë shumë e shkurtër:

from itertools import cycle

choices = cycle([
    "http://proxy-a.example:8080",
    "http://proxy-b.example:8080",
    "http://proxy-c.example:8080",
])

endpoint = next(choices)

Zëvendëso URL-të e shembullit me pika fundore HTTP nga shërbimi yt ose nga lista e proxy-ve HTTP. Thirrjet e njëpasnjëshme kthejnë A, B, C dhe pastaj përsëri A. Përdor vlerën e zgjedhur kur konfiguron kërkesën vijuese. Rikrijimi i përsëritësit për çdo kërkesë do të rinisë sekuencën. Me Requests, kalo pikën fundore të zgjedhur në kërkesë.

Nëse preferon një listë, zhvendos elementin e saj të parë në fund. pool.append(pool.pop()) heq elementin e fundit dhe e kthen menjëherë; elementi i parë nuk ndryshon kurrë. Operacioni i radhës është pool.append(pool.pop(0)), megjithëse heqja nga përpara zhvendos elementët e mbetur të listës.

Përsëritësi ka një detyrë qëllimisht të përulur. Ai nuk kontrollon disponueshmërinë, nuk heq regjistrimet e dështuara dhe nuk garanton një dalje tjetër publike. Disa pika fundore mund të ndajnë një adresë të jashtme.

Mbaje politikën e riprovimit dhe përditësimet e grupit jashtë këtij përzgjedhësi të vogël. Një përsëritës i përbashkët ka nevojë gjithashtu për një model të qëllimshëm pronësie në kodin paralel, që pika fundore e zgjedhur të mbetet e lidhur me veprimin që e mori.

Artikuj të ngjashëm