![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Witam,
Napotkałem męczący problem całkowie blokujących requestów i tak naprawdę nie wiem jak można sobie dać z tym radę. A mianowicie jest taka sytuacja: Otwieram stronę na której jest żądanie ajax wykonujące się 10 sekund i niestety podczas tych 10 sekund (żądanie ajax) nie mogę przejść na inny link (w obrębie tej samej domeny/serwera) dopóki nie zakończy się żądanie ajax. Zatrzymanie żadania nic nie daje, skrypt musi się zakończyć na serwerze. Próbowałem ustawić ignore_user_abort na false ale to raczej nie tędy droga. Czy jest do tego odpowiednie ustawienie serwera apache czy niestety nic nie da się z tym zrobić? EDIT: Jedna rzecz, która mi jeszcze wpadła do głowy to może konieczność dodania pewnego nagłówka do żądania? Ten post edytował wookieb 2.04.2010, 18:33:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
~thek pomysł ciekawy i sprawdzę czy działa nie blokująco (IMG:style_emoticons/default/smile.gif)
~strife około 10 sekund, jeżeli chodzi o optymalizację to nic nie zrobię, ponieważ gdyby to był mój system to skrypt nie działał by dłużej niż jedną sekundę, a teraz przebudowywanie molocha byłoby niezwykle trudne (IMG:style_emoticons/default/smile.gif) Aczkolwiek nie jest to dla mnie ogromnie potrzebne lecz na przyszłość przydałaby się wiedza, która owy problem rozwiązuje. Przetestuje z subdomenami i pochwalę się wynikami (IMG:style_emoticons/default/smile.gif) Okazało się, że to nie ma nic wspólnego z apachem ani innymi ustrojstwami. Wina leży po stronie standardowej sesji. Skrypty bez niej działają "wielowątkowo". Standardowa sesja działa na plikach i podczas wykonywania jednego skryptu plik sesyjny jest zablokowany i żaden inny skrypt nie jest w stanie skorzystać z sesji dopóki plik nie będzie odblokowany (dlatego oczekuje na jego dostępność) Możliwe rozwiązania to: - wyłączenie sesji dla ajaxa - przerzucenie sesji do bazy (zmiana save_handlera) - wywołanie session_write_close znacznie wcześniej Dzięki wszystkim za chęć pomocy (IMG:style_emoticons/default/smile.gif) Ten post edytował wookieb 3.04.2010, 07:59:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:46 |