Python прокси шалгалт: Future.cancel() урсгалуудыг яагаад ажиллуулсаар байдаг вэ
Хүлээгдэж буй futures-ийг цуцлах нь идэвхтэй сүлжээний шалгалтыг яагаад зогсоодоггүйг ойлгож, очих газрын эрүүл мэндийг нотолж байна гэж мэдэгдэхгүйгээр прокси уралдааныг хязгаарлаарай.
Нэг worker ашиглах боломжтой прокси олдог. Та түүний хаягийг буцааж, бусад futures дээр cancel дуудаж, сүлжээний үйл ажиллагаа зогсоно гэж хүлээж байна. Зогсохгүй байж болно.
Future-ийг callable нь эхлэхээс өмнө цуцалж болно. Урсгал аль хэдийн хүсэлтийг гүйцэтгэж байгаа бол түүний Future-ийг цуцлах нь тухайн socket үйлдлийг таслахгүй. Worker-д өөрийн хязгаарлагдмал сүлжээний үйлдэл болон цэвэрлэх зам хэрэгтэй.
Executor-ийн амьдрах хугацаа ч чухал. ThreadPoolExecutor контекстээс гарах нь түүний ажил дуусахыг хүлээнэ. Нэг хурдан үр дүнг олоод дараа нь хэд хэдэн удаан worker-ийг хүлээх нь дуудагчийн нийт саатал ялагчийн мэдээлсэн латенвариас огт өөр харагдуулж болно.
Уралдааныг эхлэхээс өмнө хязгаарла
- Хязгааргүй нийтийн жагсаалт оруулахын оронд нэгэн зэрэг хийх шалгалтын тоог хязгаарлаарай. Үнэгүй прокси жагсаалт шалгагчийн оролтод нэр дэвшигчдийг өгдөг бөгөөд endpoint бүрийн протоколыг worker-т хадгалдаг.
- Хүсэлт бүрт тохирох холболт болон унших бодлогыг өг.
- Дуудагчид нийт шийдвэрийн төсөв өг.
- Шийдвэрээс хойш амьд үлдэх worker-уудын үр дүнг хэн гадагшлуулах эсвэл хаахыг тодорхойл.
Future-ийг бага хүлээх нь түүний үндсэн хүсэлтийг богиносгохтой ижил биш. Мөн үр дүнг орхих нь бүх сүлжээний нөөцийг тэр даруй чөлөөлөхгүй.
Эхний амжилттай үр дүн бол зөвхөн эхний амжилттай шалгалт юм. Энэ нь хуваарь, кэшлэсэн холболт, тодорхой шалгалтын очих газар зэргээс хамаарч болно. Энэ нь endpoint нь бүх нийтийн хувьд хамгийн хурдан гэдгийг эсвэл бодит ажил амжилттай болно гэдгийг батлахгүй.
Ихэнхдээ сүүлийн ажиглалттай жижиг хадгалсан сан нь татах бүрийн өмнө бүх жагсаалттай уралдахыг бодвол энгийн байдаг. Бичлэгийг шинэчлэхийн тулд бодит үйлдлийн үр дүнг ашигла, алдаа дутагдлын хяналттай сэргээх бодлого-той хамт. Урьдчилсан шалгалт нь зуршилаар ажил бүрийг хоёр дахин нэмэгдүүлэхийн оронд өөрийн зардлаа нөхөх ёстой.