Witam,
Chciałbym wykonać pewne zdarzenie w tle, dokładniej chodzi mi o to że mam sobie np. jakiś plik o nazwie wtle.php, który będzie wykonywał się określoną ilość czasu, jego zawartość to np. pętla z kilkaset tysiącami przebiegów, lub też po prostu funkcja: sleep(10). Chodzi o to, że jego zawartość będzie wykonywała się kilka/kilkadziesiąt sekund.
Plik wtle.php znajduje się na serwerze A, natomiast drugi plik o nazwie wykonaj.php znajduje się na serwerze B, jego zawartość to po prostu otwarcie pliku wtle.php za pomocą funkcji CURL. Problem polega na tym, że jeżeli użytkownik wejdzie na stronę wykonaj.php to jego strona będzie się ładowała tak długo jak wykonuje się plik wtle.php i tego chciałbym uniknąć.
Miałoby to działać na zasadzie: wchodzę na plik wykonaj.php on daje sygnał plikowi wtle.php, aby się wykonywał. Później chcę do tego jeszcze wprowadzić animację w JS, która po uruchomieniu pokazuje komunikat "trwa ładowanie", po wykonaniu skryptu komunikat "wykonano".
Oczywiście wszystko powinno być zabezpieczone w taki sposób, jeżeli ktoś odświeży stronę to plik wtle.php nie będzie wykonywał się od początku, tylko będzie kontynuowany poprzednio uruchomiony przebieg. Z zabezpieczeniem to raczej nie powinien być wielki problem bo jeżeli dobrze myślę to wystarczy podczas uruchomienia dać do bazy zapytanie jakieś ze statusem 1-uruchomiono, a na końcu pliku wtle.php skrypt, wykonujący update na statusie zmieniając go na 0-wykonano.
Prosiłbym o jakąś podpowiedź jeżeli chodzi o to wykonywanie w tle, jak mógłbym takie coś osiągnąć.
Kolejne pytanie, jak w prosty sposób uruchomiłbym plik wtle.php w przeglądarce, następnie zamknął czy on na serwerze tak naprawdę wykonuje się do końca, czy też po zamknięciu karty w przeglądarce zostanie zatrzymany na serwerze?
Pozdrawiam!