Meine Lösung ist am Ende tatsächlich in PHP und nicht in Ajax (in dieser Situation besteht wirklich keine Notwendigkeit für die Clientseite).
Hier ist die Gliederung:
<?php
while (something is true){
//do stuff
flush(); // execute the stuff you did until now
sleep(300); // wait 5 min
// now check database and retrieve new data, if any, and insert into $result
if (isset($result)){
//do stuff with the $result
break; // get out of the loop
}
}
?>