Hentikan Gelung Putaran Proksi daripada Berjalan Selamanya
Berikan kumpulan proksi Python bajet percubaan terhad dan bezakan kegagalan sambungan daripada respons destinasi.
Kumpulan proksi boleh menukar gangguan mudah menjadi gelung sibuk. Pilih alamat, gagal, pilih yang lain, gagal lagi. Jika setiap titik akhir tidak dapat dicapai kerana rangkaian anda sendiri mati, menukar alamat tidak pernah membaiki puncanya.
Berikan operasi itu bajet sebelum memilih proksi pertama daripada kumpulan anda atau senarai proksi percuma: bilangan percubaan terhad, masa tunggu sambungan dan bacaan terhad, dan tarikh akhir untuk keseluruhan tugas. Had masa Requests mengawal tingkah laku sambungan atau bacaan yang didokumenkan; ia tidak dengan sendirinya mengehadkan gelung yang terus mengeluarkan permintaan baharu.
Tentukan apa yang berhak mendapat percubaan lagi
- Sambungan proksi yang ditolak boleh mewajarkan mencuba titik akhir lain.
- Respons destinasi memerlukan tafsirannya sendiri. Menerima ralat HTTP membuktikan bahawa beberapa laluan permintaan telah selesai.
- Kegagalan pengesahan proksi memerlukan pemeriksaan titik akhir dan akaun, bukan mengetuk bukti kelayakan yang sama melalui senarai yang semakin besar.
Simpan pengecualian atau status asal bersama rekod percubaan. Mesej akhir yang mengandungi hanya “semua proksi gagal” menyembunyikan sama ada kegagalan itu mempunyai punca yang sama.
Memeriksa kesihatan setiap proksi sebelum setiap permintaan sebenar menambah satu lagi permintaan dan masih tidak dapat menjamin yang seterusnya akan berjaya. Gunakan semula maklumat kesihatan terkini di tempat yang sesuai dengan tugas, kemudian biarkan operasi sebenar melaporkan hasilnya sendiri.
Percubaan semula boleh mengulangi kerja
Untuk pengambilan baca sahaja, beralih kepada proksi lain biasanya lebih mudah daripada memainkan semula penyerahan. Jika sambungan terputus selepas menghantar pembelian atau penyerahan borang, destinasi mungkin sudah memprosesnya. Ikuti mekanisme idempotensi perkhidmatan dan peraturan percubaan semula HTTP sebelum memainkan semula kerja.
Setelah bajet habis, kembalikan kegagalan yang berguna. Tugas yang berhenti dengan bukti lebih mudah dibaiki daripada yang terus berputar secara senyap sehingga seseorang menyedarinya.