Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP]Postęp zadania
Forum PHP.pl > Forum > Przedszkole
sasiadstar
Witam
Piszę bo nie mogę sobie poradzić z tym tematem.
O ile odpytania i wysyłka danych do bazy czy PHP poprzez ajax jakoś mi wychodzi to tu nie wiem jak to ugryźć, próbowałem na lewo i prawo i du..a

Mam skrypt który przetwarza (a w zasadzie to kilka tyle że każdy robi co innego) spore ilości danych i szczerze nie wiem jak zacząć żeby strona dostawała jakieś info gdzie i ile jeszcze zostało do przetrawienia przez PHP a potrafi to trwać i z pół godziny albo i dłużej.

Chodzi mi o coś takiego np.
  1. for($i=0;$i<$zmienna;$i++)
  2.  
  3. ....Tu sobie rób cuda na kiju....
  4. wyślij_info('Pozostało $i z count($zmienna).)'//co jakiś przedział czasowy
  5. //sleep(1);
  6. };
  7.  
  8. //kod php
  9.  
  10. //jakiś inny plik php i kolejne obliczenia
  11.  
  12. for($i=0;$i<$zmienna;$i++)
  13.  
  14. ....Tu sobie rób cuda na kiju 2....
  15. wyślij_info('Pozostało $i z count($zmienna).)'
  16. //sleep(1);
  17. };
  18.  


A w htmlu
  1. <div id="status_zadania"> wartość z wyślij info</div>


Nie musi być gotowe rozwiązanie tylko jakaś podpowiedź.
Z góry dzięki.
markuz
Tabela "tasks"
- id
- name
- status (0 - Wstrzymane, 1 - W kolejce, 2 - Uruchomione, 3 - Gotowe, 4 - Zakończone błędem)
- status_progress (opcjonalnie możesz dodać jak zadanie jest duże, wartość od 0 do 100)

Robisz plik cron.php który pobiera rekordy z tabeli zadania ze statusem 1, następnie je wykonuje i uaktualnia statusy. Jak skończy 1 zadanie zaczyna kolejne itd. Ten plik cron.php najlepiej gdyby miał while(true) i uruchomiony 1 proces na serwerze przez cały czas.

Robisz plik status.php który dostaje ?id={INT} i zwraca status zadania oraz status_progress.

Ew. możesz to zrobić socketami ale będzie trochę więcej zabawy.
sasiadstar
Wydaje mi się że aż tak to bym się nie rozpędzał.
Myślałem nad tablicą w bazie do której skrypt wysyłałby informacje gdzie jest w danej chwili i wywołaniu ajaxa co powiedzmy parę sekund które by te dane pobierały, ale wydaje mi się i twoje i moje rozwiązanie nie jest do końca tym o co mi chodzi.
Mam skrypt który pobiera pliki na serwer i nie wymusza to angażowania aż takich środków a mimo to działa i pokazuje postęp, tyle tylko że jak go analizuje to kompletnie nie wiem co do czego sad.gif
markuz
To pokaż ten skrypt
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.