O rastrexador ten configuradas suficientes peticións simultáneas. Aínda así detense cada vez que lle pide outra dirección ao pool de proxies. Engadir máis proxies non cambia esa pausa.

Un patrón de middleware habitual chama a requests.get(pool_url) dentro de process_request(). É unha operación de rede síncrona nunha ruta que debería cooperar co motor asíncrono de Scrapy. Mentres a chamada espera, pode reter traballo non relacionado no mesmo fío do bucle de eventos.

Hai dúas peticións no traballo

Unha petición obtén un endpoint do servizo do pool. A outra usa ese endpoint para contactar co destino. Mídeas e repórtaas por separado. Unha API de pool lenta pode facer que cada proxy escollido pareza lento antes de que a aplicación se conectase sequera a el.

Usa unha integración de descubrimento asíncrona compatible coa versión de Scrapy instalada, ou obtén e refresca un conxunto local e limitado de endpoints fóra da ruta crítica de cada petición. Se hai que descargar traballo bloqueante, dálle a ese executor os seus propios límites e xestión de tempos de espera; unha cola ilimitada só traslada o atraso.

Non lances automaticamente outra chamada de descubrimento para cada petición. Unha caché de curta duración ou un lote arrendado poden reducir a dependencia do servizo do pool, sempre que a súa vida útil encaixe coa política real de endpoints do servizo.

Define que significa unha consulta fallida

Unha resposta baleira ou fallida do pool non debería eliminar en silencio os metadatos do proxy e permitir unha petición directa. Escolle un resultado explícito: esperar dentro do orzamento da tarefa, fallar ou usar un endpoint en caché aprobado.

Mantén tamén despexada a ruta propia da API do pool. Se é un servizo interno, enviar o seu nome de host privado a través do mesmo proxy que axuda a seleccionar pode crear unha dependencia circular.

Unha vez que o descubrimento funcione sen bloquear traballo non relacionado, examina a transacción normal de proxy. Son reparacións distintas, e a súa temporización merece campos distintos no rexistro.

Artigos relacionados