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)
নমুনা URL-সমূহ আপোনাৰ সেৱা বা HTTP প্ৰক্সি তালিকাৰ পৰা HTTP এণ্ডপইণ্টেৰে সলনি কৰক। পৰৱৰ্তী কলসমূহে A, B, C, তাৰ পিছত পুনৰ A ঘূৰাই দিয়ে। পৰৱৰ্তী অনুৰোধ সজাওঁতে নিৰ্বাচিত মান ব্যৱহাৰ কৰক। প্ৰতিটো অনুৰোধৰ বাবে ইটাৰেটৰ পুনৰ সৃষ্টি কৰিলে অনুক্ৰম পুনৰ আৰম্ভ হ'ব। Requests ৰ বাবে, নিৰ্বাচিত এণ্ডপইণ্ট অনুৰোধলৈ পঠিয়াওক।
যদি আপুনি তালিকা পছন্দ কৰে, ইয়াৰ প্ৰথমটো বস্তু পিছলৈ লৈ যাওক। pool.append(pool.pop()) এ অন্তিম বস্তুটো আঁতৰাই লগে লগে ঘূৰাই দিয়ে; প্ৰথম বস্তুটো কেতিয়াও নসলয়। শাৰী কাৰ্য্যকলাপটো হ'ল pool.append(pool.pop(0)), যদিও আগৰ পৰা আঁতৰোৱাৰ ফলত বাকী তালিকা উপাদানসমূহ স্থানান্তৰিত হয়।
ইটাৰেটৰটোৰ ইচ্ছাকৃতভাৱে সীমিত দায়িত্ব। ই উপলব্ধতা পৰীক্ষা নকৰে, বিফল প্ৰৱেশ আঁতৰাই নপেলায় বা পৃথক ৰাজহুৱা বহিৰ্গমনৰ নিশ্চয়তা নিদিয়ে। কেইবাটাও এণ্ডপইণ্টে এটা বাহিৰৰ ঠিকনা ভাগ কৰিব পাৰে।
পুনঃচেষ্টা নীতি আৰু পুল আপডেট এই সৰু নিৰ্বাচকৰ বাহিৰত ৰাখক। এটা শেয়াৰ কৰা ইটাৰেটৰৰ সমান্তৰাল ক'ডত ইচ্ছাকৃত মালিকীস্বত্ব আৰ্হিও প্ৰয়োজন যাতে নিৰ্বাচিত এণ্ডপইণ্টে গ্ৰহণ কৰা কাৰ্য্যৰ সৈতে সংলগ্ন থাকে।