작업이 두 번 실행되었습니다. 이 작업을 완료하는 데 5분 이상이 걸렸기 때문에 시간 초과를 설정할 수 있는 곳을 몇 군데 검색해 봤습니다.
오늘 프로젝트를 테스트할 때 저는 이렇게 말했습니다. 작업이 두 번 실행된 것으로 나타났습니다. 이 작업을 완료하는 데 약 5분 이상이 소요되며 엔지니어링 환경은 apache2+tomcat6.0입니다.
온라인 검색에서 시간 초과를 설정할 수 있는 여러 위치를 찾았습니다.
1.ajax 단위를 밀리초로 설정하는 구문(예:
$.ajax({ url: XXX, timeout: 600000, type: 'POST', data: { }, error: function() { show_fail_meg("启动系统失败 !"); } });
2.tomcat 구성 server.xml 단위 밀리초
Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
)
3.apache 구성 파일 httpd.conf, 단위 초
# # Timeout: The number of seconds before receives and sends time out. # Timeout 60
위 여러 군데를 수정한 후에도 여전히 적용되지 않는 것으로 확인되었는데, 결국 mod_jk 모듈에 위치해 있었습니다.
mod_jk(JK)는 Apache 또는 IIS 서버에 JSP/Servlet 처리 기능을 제공하기 위한 Apache 서버 플러그 가능 모듈의 일부입니다.
즉, JK의 설정은 apache2, tomcat 및 ajax의 설정을 포함할 수 있습니다.
JK의 구성 파일 /etc/httpd/conf/workers.properties 내용은 다음과 같습니다.
worker.master.socket_timeout=300
물론 이 숫자도 정확히 5분으로 이상현상과 일치하는 것으로 확인되었습니다. 더 큰 사이즈로 변경 후 다시 시작하니 정상이더군요!
이 글의 내용은 여기까지입니다. 모든 분들께 도움이 되었으면 좋겠습니다!
관련 권장 사항:
위 내용은 Ajax 시간 초과를 설정하는 방법(작업이 두 번 실행됨)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!