Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie statusu skryptu php
Forum PHP.pl > Forum > XML, AJAX
lmdl
Witam,

Czy istnieje możliwość sprawdzania w jakim procencie wykonany został skrypt php wywoływany przez ajaxa ? Czasami mam do wykonania skrypty których wykonanie zajmuje dużo czasu i użytkownik nie wie w tym czasie co tak naprawdę się dzieje.

Być może są jakieś inne sposoby o których nie wiem na rozwiązanie takiego problemu. Proszę o pomoc w tej kwestii.
thek
Pamiętaj. AJAX wiąże się z czymś takim jak ReadyState oraz Status smile.gif Użyj ich mądrze smile.gif
wiiir
Cytat(thek @ 31.08.2010, 10:14:51 ) *
Pamiętaj. AJAX wiąże się z czymś takim jak ReadyState oraz Status smile.gif Użyj ich mądrze smile.gif


No i co z tego?questionmark.gif Przeciez on(a) pytan o procet.. czyli sie nie da, gdyby sie dalo.. wszystkie standardowe loadery ajaxa pokazywaly by rzeczywisty stopien wykonania skryptu a nie krecily sie w kolko.
lmdl
Udało mi się rozwiązać problem trochę "okrężną drogą". Podzieliłem skrypt na kilka mniejszych - wtedy przynajmniej wiem na jakim etapie całości jestem. Niestety niektórych skryptów nie da się "podzielić" i wtedy problem pozostaje nierozwiązany.
wiiir
Cytat(lmdl @ 1.09.2010, 09:05:35 ) *
Udało mi się rozwiązać problem trochę "okrężną drogą". Podzieliłem skrypt na kilka mniejszych - wtedy przynajmniej wiem na jakim etapie całości jestem. Niestety niektórych skryptów nie da się "podzielić" i wtedy problem pozostaje nierozwiązany.

Moim zdaniem srednie rozwiazanie.. bo jak mniemam wykonujesz jeden skrypt i znowu puszczasz ajaxa na drugi... a to oznacza ze tworzysz niepotrzebny ruch w sieci i odpytujesz niepotrzebnie serwer, zalezy to czego chcesz to uzyc
bo zakladajac ze np 20 ludzi wykona ten sktypt to w twoim przypadku bedzie nawet i 100 zapytan serwera jak tak podzielisz skrypt...
thek
Wiiir. Jednocześnie 80-90% programistów myśli, że php nadaje się tylko na strony webowe i nic nie da z tym się zrobić więcej. A potem się znajduje jeden, który jednak coś zrobi i wszyscy oczy wywalają. Nie testowałem tego rozwiązania, ale mam osobiście kilka pomysłów jak można to obejść i gdy tylko będę miał wolne to przetestuję ich działanie. Będzie się wiązało z zabawą co do wysyłanych nagłówków, ale myślę, ze ma szanse powodzenia.
wiiir
Cytat(thek @ 1.09.2010, 09:55:08 ) *
Wiiir. Jednocześnie 80-90% programistów myśli, że php nadaje się tylko na strony webowe i nic nie da z tym się zrobić więcej. A potem się znajduje jeden, który jednak coś zrobi i wszyscy oczy wywalają. Nie testowałem tego rozwiązania, ale mam osobiście kilka pomysłów jak można to obejść i gdy tylko będę miał wolne to przetestuję ich działanie. Będzie się wiązało z zabawą co do wysyłanych nagłówków, ale myślę, ze ma szanse powodzenia.

1 napisz do czego ty wyrzystujesz php i tez bedziesz w wiekszosci smile.gif
2 wg mnie glupyta jest takie sprawdzanie, chyba ze caly skrypt wykonuyje naprawde duzo dlugo trwajaych akcji, normalnie na codzien pracuje w srodowisku oracla i czasaem ida spore zaptynia (ajaxem) wiec tu mialo by to moze "lekki" sens aczkolwiek nie stosuje takich bajerow. z doswiadczenia wiem ze unika sie niepotrzebnych requestow.
3 ja bym puscil caly skrypt i niech sie wykonuje.. ustawil jakis czas dla ajaxa po ktorym jak nie bedize odpowiedzi zeby przerwal komunikacje jesli ma byc to cos rzeznickiego

Jesli chcesz zrobic taki motyw tylko w celach informacyjnych, czyli prawdziwy progres jak we fleshu to ja bym sobie darowal.
thek
Ja wykorzystuję php zarówno do aplikacji webowych jak i desktopowych. Przykładowo sobie w php obrabiałem skryptem grafikę na potrzeby tworzenia przydatnej mi potem w sieci mapy customowej dla google maps. Obecnie będę dla przykładu pisał aplikację off-line-portable dla swojej przyszłej żony. Mogę użyć kilku języków programowania i najpewniej zrobię kilka wersji (na bank myśl o Qt), ale będzie także wersja php-based. Najczęściej dla niewebowych zastosować używam php jako skryptowego obrabiacza obrazów na różne sposoby czy do jakichś obliczeń naprędce winksmiley.jpg
atominium
Cytat(wiiir @ 1.09.2010, 09:31:24 ) *
Moim zdaniem srednie rozwiazanie.. bo jak mniemam wykonujesz jeden skrypt i znowu puszczasz ajaxa na drugi... a to oznacza ze tworzysz niepotrzebny ruch w sieci i odpytujesz niepotrzebnie serwer, zalezy to czego chcesz to uzyc
bo zakladajac ze np 20 ludzi wykona ten sktypt to w twoim przypadku bedzie nawet i 100 zapytan serwera jak tak podzielisz skrypt...

Podzielenie skryptu na kilka mniejszych oraz wykonywanie funkcji po funkcji to moim zdaniem dobry pomysł.Rzeczywiście będzie generować ruch przez ciągłe nagłówki zapytania i oczekiwanie na status, ale przynajmniej będzie "widać" postęp.
PS.a nie dałoby się porównywać ilości pobranych danych via ajax z jakąś średnią wartością.
Załóżmy, że standardowa odpowiedź może ważyć 15kb.Nie jestem dobry w ajaxie.Raczej przeciętny więc nie wiem czy takie coś by się dało.

Tutaj znajduje się chyba dobre rozwiązanie tego problemu:
http://www.redips.net/javascript/ajax-progress-bar/
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.