Skriðarinn hefur nægilega margar samhliða beiðnir stilltar. Hann stöðvast samt í hvert sinn sem hann biður proxy-safnið um annað vistfang. Að bæta fleiri proxyum breytir engu um þá stöðvun.

Algengt middleware-mynstur kallar requests.get(pool_url) inni í process_request(). Þetta er samstillt netaðgerð á leið sem á að vinna með ósamstilltri vél Scrapy. Meðan kallið bíður getur það haldið aftur af ótengdri vinnu á sama þræði atburðalykkjunnar.

Það eru tvær beiðnir í verkinu

Önnur beiðnin sækir endapunkt frá safnþjónustunni. Hin notar þann endapunkt til að hafa samband við áfangastaðinn. Mældu og skýrðu frá þeim aðskilið. Hæg API safnsins getur látið hvert valið proxy virðast hægt áður en forritið hefur jafnvel tengst því.

Notaðu ósamstillta uppgötvunarsamþættingu sem uppsetta Scrapy-útgáfan styður, eða fáðu og endurnýjaðu takmarkað staðbundið endapunktasafn utan við mikilvæga leið hverrar beiðni. Ef flytja þarf blokkerandi vinnu skaltu gefa þeim framkvæmdaaðila eigin mörk og meðferð tímanmarka; ótakmörkuð biðröð flytur bara seinkunina.

Gefðu ekki sjálfkrafa út aðra uppgötvunarkall fyrir hverja beiðni. Skammvinn skyndiminni eða leigð lota getur dregið úr ósjálfstæði frá safnþjónustunni, að því tilskildu að líftími hennar passi við raunverulega endapunktastefnu þjónustunnar.

Skilgreindu hvað misheppnuð leit þýðir

Tómt eða misheppnað svar safnsins ætti ekki að fjarlægja proxy-lýsigögnin þegjandi og leyfa beina beiðni. Veldu skýra niðurstöðu: bíða innan fjárhags verksins, mistakast, eða nota samþykktan skyndiminnis-endapunkt.

Haltu einnig eigin leið API safnsins opinni. Ef það er innri þjónusta getur sending einkanafns þess í gegnum einmitt það proxy sem hjálpar til við að velja það skapað hringlaga ósjálfstæði.

Þegar uppgötvunin virkar án þess að blokka ótengda vinnu skaltu skoða venjulega proxy-færslu. Það eru aðskildar lagfæringar og tímasetning þeirra á skilið aðskilda reiti í annálnum.

Tengdir greinar