Xargs e Wget smettono di funzionare dopo un'ora


8

Esecuzione di script con Cygwin su Windows XP con Dual Core e Ram da 4 GB

cat url_list.txt | xargs -P50 wget -i

Sto cercando di cercare 4 GB di URL da scaricare (circa 43 milioni)

Funziona bene per circa la prima ora, quindi la shell di Bash e i download si fermano anche se è solo il 2% attraverso l'elenco degli URL.

Qualche idea su cosa potrebbe essere sbagliato?

Qual è il modo migliore per eseguire il debug perché questo si interrompe dopo un'ora?

Risposte:


2

È possibile che wget stia impiegando tempo a scaricare alcuni file. Ci sono processi wget / xargs in memoria durante il periodo in cui sembra essere bloccato? Se è così, sono tutti e 50 i processi assegnati con il flag -P50 a xargs o in qualche modo si è insinuato su quel numero o meno di quel numero e non vengono generate correttamente nuove istanze? Anche se viene eseguito con Cygwin, dai un'occhiata all'elenco dei processi in Windows stesso, poiché ogni download di wget dovrebbe avviare un'istanza nel Task Manager.


0

Presumo che gli URL siano per siti diversi. In tal caso, potresti colpire siti che rispondono lentamente e che bloccheranno uno dei tuoi budget. Dato che ne hai 50 in esecuzione, dovrai colpire 50 di questi siti prima che non accada nulla.

Per vedere se questo è il caso, prova a uccidere uno dei soldi sospesi e vedi se quello è quindi sbloccato.

Per saltare gli URL che si bloccano, puoi dare a wget un timeout:

wget -T 60
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.