Ich habe einen Cronjob, der ein php script ausführen soll. Ein Teil davon ist der Download einer Datei von einem anderen Server. Leider ist die Verbindung da recht schlecht, so dass er beim Download teilweise hängen bleibt - dadurch bleibt der Prozess dann aber aktiv. Ich habe jetzt schon überlegt ihn einfach nachts 5x zu starten, dann sollte er zumindest einmal durchlaufen - ich bräuchte dann nur noch eine Art die fehlgeschlagenen abzubrechen. Mit einem PHP timeout geht das leider nicht, da er anscheinend die Downloadzeit nicht als PHP Laufzeit mitrechnet? Jeden Tag die fehlgeschlagenen selber per Hand zu entfernen ist dann doch etwas viel Arbeit..
Ist der Anfang vom Script - also auch der Teil, bei dem er sich öfters verabschiedet.
Hat da jmd eine Idee?
Ich hatte auch schon überlegt ob ich es per wget mache, allerdings überschreibt wget die Datei nicht, sondern legt dann lauter datei.1 datei.2 datei.3 usw an, womit das Script natürlich nichts anfangen kann, da es genau auf "datei" wartet.
Code:
<?php
error_reporting(E_ALL);
set_time_limit(500);
ini_set("max_execution_time",500);
$laufzeit = array_sum(explode(" ",microtime()));
$file = 'http://arena.gamespy.com/ladder/xml/43738';
$dest = 'tw_ladder.xml';
$sql = 'tw_ladder.sql';
$buffer = fopen($dest, "w");
$file = fopen($file, "rb");
$chunk = 1048576;
while (!feof($file))
{
fputs($buffer, fread($file, $chunk));
}
fclose($file);
fclose($buffer);
Ist der Anfang vom Script - also auch der Teil, bei dem er sich öfters verabschiedet.
Hat da jmd eine Idee?
Ich hatte auch schon überlegt ob ich es per wget mache, allerdings überschreibt wget die Datei nicht, sondern legt dann lauter datei.1 datei.2 datei.3 usw an, womit das Script natürlich nichts anfangen kann, da es genau auf "datei" wartet.
Last edited by a moderator: