Jan Janiak

Jan Janiak Programista

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Skrypt: php, przetwarza wiele danych, długo się wykonuje
Przeglądarka: dowolna
Opis sytuacji: po przekroczeniu danego czasu przeglądarka pokazuje informację, że serwer nie odpowiada

Pytanie: jaki macie sposób na takie coś, na timeout w przeglądarce dla długo wykonywanego skryptu?
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

1. zwiększasz timeout na serwerze albo tylko dla danego skryptu
2. skrypt odpalasz ajaxem i odpowiednio go obsługujesz.

konto usunięte

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

3. Sprawdzasz ile czasu już wykonuje się skrypt, przed upływem czasu - zapisujesz stan, każesz przeglądarce zrobić refresh - odczytujesz zapisany stan i kontynuujesz pracę.

konto usunięte

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Jan Janiak:
Pytanie: jaki macie sposób na takie coś, na timeout w przeglądarce dla długo wykonywanego skryptu?

w tej kolejności

optymalizacja skryptu np. tuning SQL-a, algorytm
przeniesienie generowania do Shell-a i obsługa CRON-em
zwiększenie timeout-a

zauważ że pudrowanie trupa nie sprawi że przestanie być mniej martwy

konto usunięte

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Przemysław dobrze mówi, najpierw spróbuj poprawić wydajność a jeśli to możliwe to przerzuć wykonywanie czasochłonnych operacji na CRON on nie zabija skryptów ( przynajmniej mi się to nie zdarzyło podczas działania przez 1h)
Jan Janiak

Jan Janiak Programista

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Przemysław R.:
optymalizacja skryptu np. tuning SQL-a, algorytm
przeniesienie generowania do Shell-a i obsługa CRON-em
zwiększenie timeout-a

zauważ że pudrowanie trupa nie sprawi że przestanie być mniej martwy
Przemysław, spokojnie. Nie musisz tak bardzo krytykować i napinać się. Optymalizacja zapytań SQL jest niepotrzebna, ponieważ ich nie ma, natomiast obsługa przez Cron odpada, ponieważ efekt musi być widoczny w przeglądarce. Dobrze i poprawnie myślisz, jednak w tym przypadku to nie jest rozwiązanie problemu.
Michał Wachowski:
3. Sprawdzasz ile czasu już wykonuje się skrypt, przed upływem czasu - zapisujesz stan, każesz przeglądarce zrobić refresh - odczytujesz zapisany stan i kontynuujesz pracę.
Takie rozwiązanie potrzebowałem.

Dziękuję wszystkim za odpowiedzi.

konto usunięte

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Takie długie skrypty to się przenosi na CRON-a i wykonuje etapami.

konto usunięte

Temat: Sposób na timeout w przeglądarce dla długo wykonywanego...

Jan Janiak:
Przemysław R.:
optymalizacja skryptu np. tuning SQL-a, algorytm
przeniesienie generowania do Shell-a i obsługa CRON-em
zwiększenie timeout-a

zauważ że pudrowanie trupa nie sprawi że przestanie być mniej martwy
Przemysław, spokojnie. Nie musisz tak bardzo krytykować i napinać się. Optymalizacja zapytań SQL jest niepotrzebna, ponieważ ich nie ma, natomiast obsługa przez Cron odpada, ponieważ efekt musi być widoczny w przeglądarce. Dobrze i poprawnie myślisz, jednak w tym przypadku to nie jest rozwiązanie problemu.

co do SQL-a lub algorytmu, bo to o tu chodziło
http://edu.i-lo.tarnow.pl/inf/alg/003_sort/0025.php

w zależności od dobranego algorytmu sortowania i złożoności kodu zyskujemy kilkadziesiąt procent na wydajności - to tylko przykład optymalizacji

więc to jest podstawa do dalszej pracy bo po co user ma czekać?

co do CRON-a on nie służy do wyświetlania tylko do wrzucania zadania obliczającego w tło, sprawdzasz tylko co jakiś czas np. w bazie danych, poprzez memcache, cokolwiek - wynik obliczeń i jak już się kończą to pobierasz wynik za pomocą normalnej stronyPrzemysław R. edytował(a) ten post dnia 28.09.12 o godzinie 20:55



Wyślij zaproszenie do