ການເລືອກພຣັອກຊີແບບ round-robin ໃນ Python ດ້ວຍ itertools.cycle
ໃຊ້ຕົວທຳຊ້ຳເພື່ອເລືອກພຣັອກຊີທີ່ຄາດຄະເນໄດ້ຈາກສະລອຍຄົງທີ່ ໂດຍແຍກການເລືອກອອກຈາກການປະຕິບັດຄຳຂໍ ແລະ ສຸຂະພາບ.
ສຳລັບສະລອຍຄົງທີ່ ການເລືອກແບບ 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)) ເຖິງແມ່ນວ່າການຖອດອອກຈາກທາງໜ້າຈະຍ້າຍອົງປະກອບລາຍການທີ່ເຫຼືອ.
ຕົວທຳຊ້ຳມີໜ້າທີ່ຕ່ຳຕ້ອຍໂດຍເຈດຕະນາ. ມັນບໍ່ກວດສອບຄວາມພ້ອມໃຊ້ ບໍ່ລຶບລາຍການທີ່ລົ້ມເຫຼວ ແລະ ບໍ່ຮັບປະກັນທາງອອກສາທາລະນະທີ່ແຕກຕ່າງ. ຈຸດປາຍຫຼາຍແຫ່ງສາມາດແບ່ງປັນທີ່ຢູ່ພາຍນອກດຽວກັນ.
ເກັບນະໂຍບາຍລອງໃໝ່ ແລະ ການອັບເດດສະລອຍໄວ້ນອກຕົວເລືອກນ້ອຍນີ້. ຕົວທຳຊ້ຳທີ່ແບ່ງປັນຍັງຕ້ອງການຮູບແບບຄວາມເປັນເຈົ້າຂອງທີ່ເຈດຕະນາໃນໂຄດທີ່ເຮັດວຽກພ້ອມກັນ ເພື່ອໃຫ້ຈຸດປາຍທີ່ເລືອກຕິດກັບການດຳເນີນການທີ່ໄດ້ຮັບມັນ.