一個action執行了2遍,這個操作大致需要5分多鐘才能完成,於是搜了幾個可以設定超時的地方,希望對大家有所幫助
今天在測試工程時發現一個action執行了2遍,這個操作大致上需要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伺服器的一個可插入模組,用以為Apache或IIS伺服器提供處理JSP/Servlet的能力。
也就是說JK的設定可能覆蓋了apache2和tomcat以及ajax的設定。
JK的設定檔/etc/httpd/conf/workers.properties內容如下:
worker.master.socket_timeout=300
果然看到這個數字剛好是5分鐘,跟異常現像一致,改大之後重啟,正常!
以上就是這篇文章的所有內容了,希望對大家有幫助!
相關推薦:
以上是ajax 怎麼設定超時(一個action執行了2遍)的詳細內容。更多資訊請關注PHP中文網其他相關文章!