ଏକ ସ୍ଥିର ପୁଲ୍ ପାଇଁ 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)), ତଥାପି ଆଗରୁ ଅପସାରଣ କଲେ ଅବଶିଷ୍ଟ ତାଲିକା ଉପାଦାନ ଘୁଞ୍ଚେ।

ଇଟେରେଟରର କାର୍ଯ୍ୟ ଉଦ୍ଦେଶ୍ୟପୂର୍ବକ ସୀମିତ। ଏହା ଉପଲବ୍ଧତା ଯାଞ୍ଚ କରେ ନାହିଁ, ବିଫଳ ଏଣ୍ଟ୍ରି ଅପସାରଣ କରେ ନାହିଁ କିମ୍ବା ଭିନ୍ନ ସାର୍ବଜନୀନ ନିର୍ଗମ ନିଶ୍ଚିତ କରେ ନାହିଁ। ଏକାଧିକ ଏଣ୍ଡପଏଣ୍ଟ ଏକ ବାହ୍ୟ ଠିକଣା ଅଂଶୀଦାର କରିପାରନ୍ତି।

ପୁନଃଚେଷ୍ଟା ନୀତି ଏବଂ ପୁଲ୍ ଅପଡେଟ୍ ଏହି ଛୋଟ ଚୟନକର୍ତ୍ତା ବାହାରେ ରଖନ୍ତୁ। ଅଂଶୀଦାର ଇଟେରେଟରକୁ ସମବର୍ତ୍ତୀ କୋଡ୍‌ରେ ଉଦ୍ଦେଶ୍ୟପୂର୍ବକ ମାଲିକାନା ମଡେଲ ମଧ୍ୟ ଆବଶ୍ୟକ, ଯାହାଫଳରେ ଚୟନିତ ଏଣ୍ଡପଏଣ୍ଟ ଏହାକୁ ଗ୍ରହଣ କରିଥିବା କାର୍ଯ୍ୟ ସହିତ ସଂଯୁକ୍ତ ରହିବ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ