Express 4.x ปิดการเชื่อมต่อหลังจากผ่านไป 2 นาที

ฉันมีแอปพลิเคชันโหนดธรรมดาที่จัดการ GET /foo คำขอนี้ใช้เวลาในการคำนวณและส่งคืนไฟล์ แต่ละครั้งที่คำขอใช้เวลานานกว่า 2 นาที การเชื่อมต่อจะถูกปิด ฉันใช้ Express 4.10.2 และโหนด 0.10.32

ฉันอ่านว่าโมดูล http มีการหมดเวลาเริ่มต้น 2 นาที: http://contourline.wordpress.com/2011/03/30/preventing-server-timeout-in-node-js/

ฉันพยายามใช้:

server.on('connection', function(socket) {
    socket.setTimeout(5*60*1000); //5 minutes
});

แต่ถึงแม้ว่าการเชื่อมต่อจะไม่ปิดหลังจากผ่านไปสองนาที เมื่อเซิร์ฟเวอร์พยายามส่งไฟล์กลับมา ฉันก็ได้รับ:

{ [Error: Request aborted] code: 'ECONNABORT' }

แก้ไข:

server.setTimeout(5*60*1000); ทำงานได้ดี! ขอบคุณ @mscdex


person kdelemme    schedule 13.11.2014    source แหล่งที่มา
comment
คุณได้ลอง server.setTimeout(5*60*1000) นอกตัวจัดการเหตุการณ์ connection แล้วหรือยัง   -  person mscdex    schedule 13.11.2014
comment
ฉันจะลองสิ่งนั้น แจ้งให้คุณทราบในอีกไม่กี่ ขอบคุณ   -  person kdelemme    schedule 13.11.2014


คำตอบ (1)


server.setTimeout() เป็นวิธีการตั้งค่าการหมดเวลาการเชื่อมต่อ HTTP สำหรับการเชื่อมต่อทั้งหมด

person mscdex    schedule 13.11.2014