Мөлхөгчид хангалттай зэрэгцээ хүсэлт тохируулсан байна. Гэсэн хэдий ч прокси пулаас өөр хаяг асуух бүрт зогсдог. Илүү олон прокси нэмэх нь тэр зогсолтод нөлөөлөхгүй.

Нийтлэг middleware загвар requests.get(pool_url) дуудлагыг process_request() дотор хийдэг. Энэ нь Scrapy-гийн асинхрон хөдөлгүүртэй хамтран ажиллах ёстой зам дээрх синхрон сүлжээний үйлдэл юм. Дуудлага хүлээж байх хооронд ижил үйл явдлын гогцооны урсгал дээрх холбоогүй ажлыг саатуулж болно.

Ажилд хоёр хүсэлт бий

Нэг хүсэлт пулын үйлчилгээнээс төгсгөлийн цэг авдаг. Нөгөө нь тухайн цэгийг ашиглан очих газартай холбогддог. Тэдгээрийг тус тусад нь хэмжиж, тайлагнана уу. Удаан пул API нь програм холбогдохоос өмнө сонгосон прокси бүрийг удаан мэт харагдуулж болно.

Суулгасан Scrapy хувилбар дэмждэг асинхрон илрүүлэлтийн интеграцийг ашиглах, эсвэл хүсэлт бүрийн чухал замаас гадна хязгаарлагдмал орон нутгийн төгсгөлийн цэгийн багцыг авч шинэчилж байх хэрэгтэй. Хэрэв блоклогч ажлыг шилжүүлэх шаардлагатай бол тэр гүйцэтгэгчид өөрийн хязгаар, хугацааны менежментийг өгнө үү; хязгааргүй дараалал нь саатал зөвхөн байршлыг нь өөрчилдөг.

Хүсэлт бүрт автоматаар өөр нэг илрүүлэлтийн дуудлага хийхгүй байх. Богино настай кэш эсвэл түрээсийн багц нь үйлчилгээний бодит төгсгөлийн цэгийн бодлоготой нийцэж байвал пулын үйлчилгээнээс хамааралтай байдлыг бууруулж чадна.

Амжилтгүй хайлт ямар утгатай болохыг тодорхойл

Хоосон эсвэл амжилтгүй пулын хариу нь прокси мета өгөгдлийг чимээгүй устгаж, шууд хүсэлт гаргахыг зөвшөөрөх ёсгүй. Тодорхой үр дүнг сонгоно уу: ажлын төсөв дотор хүлээх, бүтэлгүйтэх, эсвэл зөвшөөрөгдсөн кэшлэгдсэн төгсгөлийн цэгийг ашиглах.

Пулын API-гийн өөрийн замыг ч чөлөөтэй байлга. Хэрэв энэ нь дотоод үйлчилгээ бол түүний хувийн хост нэрийг сонгоход туслах проксигоор дамжуулан илгээх нь мөчлөгт хамаарлыг үүсгэж болно.

Илрүүлэлт холбоогүй ажлыг блоклохгүйгээр ажиллаж эхэлсний дараа ердийн прокси гүйлгээг шалгана уу. Эдгээр нь тусдаа засварууд бөгөөд тэдгээрийн цаг хугацаа лог дээр тусдаа талбарт хүртэх ёстой.

Холбоотой нийтлэлүүд