_GET variablen in cronjob werden nicht erkannt ?!

spikaner

Quereinsteiger @ php
Ich lesse per cronjob ein paar xml files aus und lasse diese in der Datenbank speichern, wenn ich das Script per Hand aufrufe funktioniert alles einwandfrei, rufe ich das Script via cronjob auf bricht er nach den 1 "Durchlauf" ab. Hier mal die relevanten ausschnitte
PHP:
$cID = count($region); // ein array mit ca. 20 stück
IF (!isset($_GET['index'])) {
	$pointer = 0;
	$abfrage = "SELECT * FROM mineraliean ORDER BY id DESC LIMIT 1 ";
	$result = mysql_query($abfrage);
	$row=mysql_fetch_array($result);
	$lastid = $row['id'];
	$newid = $lastid + 1;
}
else
{
	$pointer = $_GET['index'];
	$newid = $_GET['id'];
}

if($pointer==$cID) {
	exit();
}


// verarbeitung und eintrag in db


// linkerstellung und erneuter aufruf
$pointer++;
$eigeneURL = $_SERVER['PHP_SELF']."?index=".$pointer."&id=".$newid;
echo '<meta http-equiv="Refresh" content="1; url='.$eigeneURL.'">';

woran könnte das liegen ? , muß ich jetzt 20 seperate Cronjobs erstellen ?
(Ich muß mit einen Seitenneuaufruf arbeiten da ich sonst einen Timeout bekomme)

mfg
 
ein Cronjob aufruf kann man nicht mit einem Browseraufruf vergleichen,
also kannst du auch nicht das script neuladen, da es nicht im Browser ausgeführt wird.

Deswegen bringt das nix:
Code:
echo '<meta http-equiv="Refresh" content="1; url='.$eigeneURL.'">';
Da musst du dir wohl ne Schleife bauen.
 
Ok, nur das Problem dabei
(Ich muß mit einen Seitenneuaufruf arbeiten da ich sonst einen Timeout bekomme)
Gibt es noch eine andere möglichkeit ? (achja der Timeout ist momentan auf 300 sec und ich glaube nicht das mein Hoster den für mich noch höher setzt :( )

mfg
 
Weiß jetzt nicht ob das was bringt, aber kannst ja mal das an den anfang deines scriptes schreiben:
set_time_limit(0);
ignore_user_abort(true);
Setzt halt den Time Limit auf unbegrenzt, könnte aber sein, dass das dein Hoster nicht erlaubt/blockiert.
 
Zuletzt bearbeitet:
set_time_limit(0);
ignore_user_abort(true);
werden leider ignoriert.
Ich habe es jetzt auf 4 Cronjobs aufgeteilt, mit der Lösung bin ich zwar überhaupt nicht glücklich aber sie funktioniert soweit, falls jemand noch einen anderen Lösungsansatz für das Problem hat bitte melden.

mfg
 

Neue Beiträge

Zurück