Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX][PHP]Postęp zadania
sasiadstar
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markuz 29.04.2017, 14:22:14
Go to the top of the page
+Quote Post
sasiadstar
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
markuz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


To pokaż ten skrypt
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.08.2025 - 03:25