Ja genau:
datei: update.php (dieses script soll gestoppt werden)
z.B.:
PHP-Code:
<?php
//do your stuff
...
checkStop();
...
foreach(...){
checkStop();
}
//do your stuff
...
checkStop();
...
function checkStop(){
$myFlagPath = "./stopScript.asdf";
if(file_exists($myFlagPath)){
unlink($myFlagPath);
die("STOP BY FLAGFILE"); // besser natürlich einen sauberen Abgang machen ;)
}
}
?>
datei: stopit.php (dieses script wrid zum Stoppen aufgerufen)
z.B.:
PHP-Code:
<?php
$myFlagPath = "./stopScript.asdf";
file_put_contents($myFlagPath, 'inhalt der Datei ist egal');
?>
update starten:
http://domain.com/update.php
update stoppen:
http://domain.com/stopit.php
Hier hab ich es als function eingebaut. Du mußt halt sehen, dass die mySQL-Verbindung sauber beendet wird (rollback, disconnect,...)
Noch ein Hinweis:
Bei Update und Insert auf Tabellen mit Indizies daueren eben diese länger (Index-Update);
dafür ist der SELECT (wenn Index optimal genutzt) schneller.
Der Index-Update kann bei grossen Tabellen echte Performance-Probleme bringen;
also in der Doku und den WebLog von mysql nachlesen, wie das läuft.