Wolfgang Wiese: alarm() und LWP: timeout()

Beitrag lesen

Lange Rede, kurzer Sinn: Hat jemand eine Ahnung, wie ich dies
umgehen kann, also sowohl alarm() in meinem Hauptprogramm,
als auch den von LWP gleichzeitig nutzen?
(Immer im Hinterkopf, das die Alarmzeit vom
Hauptprogramm != Timeout von LWP)

Brauchst Du unbedingt das interne "alarm()", oder nur dessen Wirkung? Und wie oft?
Läßt sich das Problem vielleicht durch "outsourcen" lösen? Also durch einen zweiten Prozeß, etwa ein shell-Skript, welches selbst ein sleep () und ein "kill -SIGirgendwas" an Dein Perl-Skript schickt?

Ich brauch das Alarm um einen Spidervorgang abzubrechen.
Und zwar nich nur abbrechen in Bezug auf die dauer einzelner Siteabgriffe,
sondern auch in Bezug auf das gesamte Programm, welches ebenfalls
nur eine bestimmte Zeit X laufen soll, egal wieviele URL's bisher erfolgreich
geschafft wurden oder nicht.
Desweiteren hab ich bereits Outgesourced, also
diese Prozeduren in externe Programme ausgelagert, da ich den Spider bereits ab bestimmten Menge an zu spiderden
Domains plitte, d.h. die AUfgabe an Kinderprozesse verteile.

Theoretisch koennte ich sicher nochmal dasselbe machen
(Am Anfang der Entwicklung hatte ich das auch schon mal gemacht),
aber dies hat wieder Probleme an anderer Stelle, weil ich neben
den zeitlich bedingten Timeouts, auch eine Abbruchbedingung fuer eine
bestimmte Gesamtuebertragungsmenge eingebaut habe.

Ich denke eigentlich diese Umbauten sind dann doch zu zeitaufwendig, d.h.
es ist schneller, mal eben alarm() oder LWP selbst anzupassen.....

Aber jetzt hab ich es so gemacht wie unten in der Re: auf Bjoern
beschrieben....

Mist! Irgentwie haette ich wirklich fast Lust mit Gisle bischen weiter
an LWP zu aendern, aber ich hab naechste WOche leider Urlaub :((

Ciao,
Wolfgang