Jak umożliwić wykonanie skryptu do końca, gdy użytkownik opuści stronę?

0

Witam
Mam pewien problem i nie wiem jak się za to zabrać, najczęściej jak wykonujemy jakiś skrypt php to przeglądarka czeka aż sie zakończy aby wyświetlić wynik/odpowiedź.
Co zrobić aby skrypt się wykonywał nie czekając na odpowiedź?
Np.
użytkownik na stronie naciska przycisk wyślij maila i w tym czasie w ciągu najbliższych 2 minut mail jest wysyłany co 2 sekundy do konkretnej osoby, natomiast użytkownik moze wyłączyć strone/przegladarka a skrypt dalej sie wykonuje po stronie serwera, jak takie coś wykonać?
wiem ze jest cron, ale cykliczne wykonywanie zadań mnie nie interesuje
Z góry dziękuje za nakierowanie na jakaś pomoc

1
  1. użytkownik odwiedza stronę wykonaj_jakies_zadanie.php - np. wysyłka 200 maili - serwer zadanie zapisuje do kolejki i od razu zwraca użytkownikowi informację - wszystko jest ok

2. tu normalny człowiek użyłby crona, do wykonywania zadań z kolejki

  1. Ciebie jednak cron nie interesuje, więc gdy przeglądarka odbierze komunikat, że wszystko jest ok - niech np. ajaxem zleci osobnemu skryptowi wykonywanie zadań z kolejki, a skrypt na początku niech wywołuje funkcje ignore_user_abort - tu jest twój wybór czy czekasz na rezultat, czy w ogóle wywołujesz ajaxa i ustawiasz timeout na 1 sekundę - żeby przeglądarka w ogóle nie przejmowała się już progressem zadania
0

ok ok, moze być i ten crone, dodam do bazy tych 200 rekordów, ale jak zlecić wykonanie skryptu w tle

0

Przecież Ci napisałem w pkt 3.

0

yhy, zrobiłem to curlem i wszystko śmiga bez problemu,
pozdrawiam i dzięki za pomoc.

0
mateuszm31 napisał(a):

yhy, zrobiłem to curlem i wszystko śmiga bez problemu,
pozdrawiam i dzięki za pomoc.

A mógłbyś wkleić rozwiązanie, tak dla potmoności?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.