나는 하나의 AJAX 호출을 통해 시간 소모적 인 작업을 수행해야하는 응용 프로그램에서 CakePHP를 작업하고 있으며, 보조 정기 AJAX 호출은 작업 진행 상황을 확인합니다.CakePHP 동시 AJAX 요청 블로킹
문제점
은 CakePHP의에 AJAX 요청의를 통해 (> 30 초 소요) 시간이 걸리는 작업이 실행되는 동안은 보조 진행 AJAX 요청 "차단"할 수없는 것 같다.
2 차 진행 AJAX 요청은 오류를 반환하지 않으며 원래 시간이 많이 소요되는 요청이 완료 될 때까지 응답을 반환하지 않습니다.
원래 AJAX 요청이 완료되면 보조 진행 AJAX 요청이 예상대로 반환됩니다.
반환 된 진행률이 100 %이므로 진행 요청의 실행이 첫 번째 AJAX 호출이 완료 될 때까지 대기중인 것으로 보입니다. - 수정 프로그램
- 는 core.php에 '케이크'로 세션 핸들러를 변경하지 : 나는 등의 여러 제안 된 솔루션을 시도
내가 무엇을 시도했다
core.php에서 보안 수준을 'medium'으로 설정 - no fix
- core.php에서 사용자 에이전트 검사를 사용하지 않음 - 수정 없음
- mul 동일한 서버에서 평범한 PHP 스크립트를 여러 번 호출 - 예상대로 작동합니다.
모든 아이디어?
그래서 문제는 CakePHP에 의해 발생한 것 같습니다. 누구나 자신의 CakePHP 앱에서이 경험이 있습니까?
감사합니다.
안녕하세요, 난 프로토 타입을 사용하고 있지만 JS 프레임 워크가 문제라고 생각하지 않습니다. 프로토 타입을 통해 CakePHP가 아닌 다른 서버에 동시 AJAX 호출을 할 수있었습니다. CakePHP 어딘가에서 "블로킹"이 일어나고있는 것처럼 보입니다. – Ben
안녕하세요. 문제를 발견했습니다. 내 CakePHP 앱은 파일 기반 세션을 사용하고 있었기 때문에 핵심 CakePHP 파일은 한 번에 하나의 요청으로 만 액세스 할 수있었습니다. memcache 세션으로 전환하면이 문제가 해결됩니다. – Ben
여러 요청을 차단하는 세션이 있습니까? 그걸 보지 못했어요 :) 당신이 문제를 발견하게 된 것을 기쁘게 생각합니다. ' – laander