Tworzysz sobie jakiś skrypt w php, wrzucasz go powiedzmy w head strony jako plik js:
<script type="text/javascript" src="/sciezka/do/skryptu/skrypt.php"></script>
A w samym pliku, na samym jego początku dodajesz pewien nagłówek:
header("HTTP/1.0 204 No Content");
Informując przeglądarkę, żeby zerwała połączenie ze skryptem. A sam skrypt wykonywać się będzie dalej.
Co zyskujesz:
+ możliwość odpalenia dowolnie długiego skryptu, który może się dość długo wykonywać
+ jednocześnie, dzięki zerwaniu połączenia, nie wydłużasz czasu ładowania twojej strony
+ w pliku php który będzie symulować JS, możesz dołożyć jakiś skrypt js, który będzie po jakimś czasie braku aktywności użytkownika, sam próbował jeszcze raz się załadować
- dodatkowe rzadanie, które minimalnie spowolni proces ładowania strony
- jak jakoś tego nie zabezpieczysz w jakiś sposób, możesz więcej razy niż byś chciał odpalić skrypt który będzie działać w tle. Powiedzmy 20 użytkowników wejdzie w tym samym czasie na stronę i skrypt odpali się 20 razy. Jeżeli będzie dość ciężki, możesz sobie nieźle zapchać serwer.
Taki pseudo cron, można by powiedzieć.