Voor ons systeem wil ik gebruikmaken van een complexe cronjob.
Omdat het nogal een complex proccess is (bestaande uit veel handelingen), leek het mij handig om de php-pagina op te splitsen in meerdere pagina's.
Dus:
start.php --> header('Location: pagina2.php');
pagina2.php --> header('Location: pagina3.php'); of als proces klaar is: exit();
pagina3.php --> header('Location: pagina4.php');
pagina4.php --> header('Location: pagina2.php');
Dit is een zwaar versimpelde weergave. De controle in pagina2 is een query.
Als er wel resultaten zijn, dan moet verder worden gegaan, zoniet: stop de cronjob dan maar met exit();
Nu gaat een aantal loops prima, maar op een gegeven moment krijg ik in Firefox de melding:
"
De pagina verwijst niet op een juiste manier door
Firefox heeft vastgesteld dat de server het verzoek voor dit adres doorverwijst op een manier die nooit zal eindigen.
Dit probleem kan soms worden veroorzaakt door het uitschakelen of weigeren
van cookies.
"
Is het nu zo dat je met de functie maar een beperkt aantal x door kan sturen?
Ik heb het zo geprogrammeerd dat er met 100% zekerheid een einde aan het proces komt, dus het zo echt geen oneindige loop zijn.
Wel lijkt het fout te gaan in een pagina die ik include die een http_request doet naar het systeem van Tiara / Realworks. Voor elke klant (elke loop) moet namelijk een zip-bestand worden opgehaald van een andere server om te verwerken.
Nu heb ik deze functie wel geprobeerd met ob_start() en ob_clean() te omsluiten, maar dat hielp niet.
Ik houd een logfile bij (tekstbestand) en hierin zie ik dat na een aantal loops de logfile stockt na het te includen bestand, daarom weet ik zo zeker dat hier de fout moet zitten.
Dit doe ik met de volgende functie:
Omdat het nogal een complex proccess is (bestaande uit veel handelingen), leek het mij handig om de php-pagina op te splitsen in meerdere pagina's.
Dus:
start.php --> header('Location: pagina2.php');
pagina2.php --> header('Location: pagina3.php'); of als proces klaar is: exit();
pagina3.php --> header('Location: pagina4.php');
pagina4.php --> header('Location: pagina2.php');
Dit is een zwaar versimpelde weergave. De controle in pagina2 is een query.
Als er wel resultaten zijn, dan moet verder worden gegaan, zoniet: stop de cronjob dan maar met exit();
Nu gaat een aantal loops prima, maar op een gegeven moment krijg ik in Firefox de melding:
"
De pagina verwijst niet op een juiste manier door
Firefox heeft vastgesteld dat de server het verzoek voor dit adres doorverwijst op een manier die nooit zal eindigen.
Dit probleem kan soms worden veroorzaakt door het uitschakelen of weigeren
van cookies.
"
Is het nu zo dat je met de functie maar een beperkt aantal x door kan sturen?
Ik heb het zo geprogrammeerd dat er met 100% zekerheid een einde aan het proces komt, dus het zo echt geen oneindige loop zijn.
Wel lijkt het fout te gaan in een pagina die ik include die een http_request doet naar het systeem van Tiara / Realworks. Voor elke klant (elke loop) moet namelijk een zip-bestand worden opgehaald van een andere server om te verwerken.
Nu heb ik deze functie wel geprobeerd met ob_start() en ob_clean() te omsluiten, maar dat hielp niet.
Ik houd een logfile bij (tekstbestand) en hierin zie ik dat na een aantal loops de logfile stockt na het te includen bestand, daarom weet ik zo zeker dat hier de fout moet zitten.
Dit doe ik met de volgende functie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $req = &new HTTP_Request(TIARA_URL); $req->setMethod(HTTP_REQUEST_METHOD_GET); $req->sendRequest(); if($req->getResponseCode()!=200){ $importError = true; /* Write error to logfile */ saveLogFile('Tiara connectie kon niet worden gemaakt', __FILE__, __LINE__); }else{ ................... } hierna volgen nog meer functies, maar zonder output |