Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][sql][ajax] transakcje , a duża liczba zapytań, ponawianie połączenia + duża ilość operacji SQL
aeu
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.02.2007

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


Witam!

Mam problem z ogarnięciem dużej liczby zapytań do bazy danych, a mianowicie...

Wysyłam zapytanie do serwera SOAP i otrzymuje odpowiedź w postaci tablic (nuSoap) - każda tablica zawiera 25 rekordów, liczba tablic nie jest z góry ustalona - czyli dane pobierane są paczkami.

Następnie dla każdego rekordu w pobranej tablicy generuje odpowiednie zapytania SQL (INSERT, INSERT UPDATE etc).

Rzecz w tym, że mam do wykonania około 5000 zapytań i oczywiście dostaje timeout z przeglądarki. Nie chce ustawiać wartości timeoutu z poziomu PHP (bo tak jak pisałem liczba pobranych tablic nie jest ustalona, więc ciężko przewidzieć jaki by timeout nawet ustawić).

Co więcej wszystkie operacje wpisywane do bazy muszą być objęte transakcją.

Czytałem o możliwości ponawiania połączenia przy użyciu advAjax, i tu by miało to zastosowanie, ale co wtedy z transakcją w SQL ? Każde ponowne wywołanie strony pobierającej dane (ze wskazaniem odpowiedniej paczki do pobrania) generuje nowe połączenie z bazą.

Może macie własny sposób na tego typu operacje (z wieloma INSERTAMI UPDATAMI etc) zapobiegający timeoutowi przeglądarki.

Pozdrawiam

Ten post edytował aeu 18.02.2007, 14:15:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
splatch
post
Post #2





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Chodzi tu o podtrzymywanie połączenia HTTP (z tego co pamiętam jest taka możliwość). Wówczas PHP sobie normalnie mieli a Ty czekasz na odpowiednią odpowiedź.
Innym wyjściem może być odpalenie w tle skryptu (exec) i stworzenie na końcu jego wywołania (bądź w jego trakcie) jakiegoś pliku z informacją o przebiegu operacji tzn. czy wszystko poszło zgodnie z planem. Mógłbyś się odpytywać z poziomu przeglądarki i odczytywać plik, bez żadnych konsekwencji (np. zamknięcie przeglądarki nie byłoby równoznaczne z przerwaniem transakcji).


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post
aeu
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.02.2007

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


Witam!

Skryptu tj. np w CGI? W sensie, że wszystkie dane soap tylko pobieram do np "sesji" i później przekazuje do skryptu odpalonego po stronie serwera?

Pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 20:19