Witam.

Następująca sytuacja:

Wywołuje Ajaxem http://dev/start_procedura (to często zwraca "HTTP/1.1 408 Request Time-out"). W tym samym momencie odpalam Ajax.PeriodicalUpdater pytający o jej postęp http://dev/postep_procedura. Jak widać poniżej odpowiedź na drugie żądanie dostaje dopiero po odpowiedzi na pierwsze żadanie.

URL: http://dev/start_procedura
Metoda: POST
Stan: 200 OK
Czas trwania : 59165 ms

URL: http://dev/postep_procedury
Metoda: POST
Stan: 200 OK
Czas trwania : 56499 ms

Czy ktoś wie jak oszukać przeglądarkę aby nie czekała na odpowiedź i przetwarzała kolejne żądanie?

  1. //generalnie <a href="http://dev/start_procedura" target="_blank">http://dev/start_procedura</a> działa tak
  2. case 'start_procedura':
  3. //pomaga ale zabija mi sesję
  4. //header("Content-Length: 0");
  5. //header("Connection: close");
  6. //flush();
  7. sleep(10000);
  8. break;



Rozwiązałem problem zamykając połączenie.A session_write_close rozwiązuje problem ginącej sesji.

  1. //Zamykamy połączenie
  2. header("Content-Length: 0");
  3. header("Connection: close");
  4. flush();
  5. sleep(1000);
  6. error_log('wake up');