我有一個Node.js應用程序,它運行在Windows Server 2008上。我在這裏遇到了一個奇怪的問題。Node.js無響應,直到按下控制檯上的按鍵
我的應用程序執行多個異步任務。將數據發送到socket.io,MySQL,HTTP連接,TCP連接等。
我的節點應用程序變得無響應,特別是在socket.io端,並且只有在控制檯上按下任何按鍵後纔會開始響應。這是一個已知的問題?任何繞過這種行爲?
注意:我大量使用console.log來跟蹤當前操作和錯誤。
我有一個Node.js應用程序,它運行在Windows Server 2008上。我在這裏遇到了一個奇怪的問題。Node.js無響應,直到按下控制檯上的按鍵
我的應用程序執行多個異步任務。將數據發送到socket.io,MySQL,HTTP連接,TCP連接等。
我的節點應用程序變得無響應,特別是在socket.io端,並且只有在控制檯上按下任何按鍵後纔會開始響應。這是一個已知的問題?任何繞過這種行爲?
注意:我大量使用console.log來跟蹤當前操作和錯誤。
我做了一些背景調查並得出以下結論。
Windows Server 2008上的Powershell控制檯在單擊時會進入「暫停」模式。如果您點擊其他地方,它會再次發佈。 http://www.vistax64.com/powershell/112032-script-pauses-when-you-click-powershell-text-window.html
如果您注意,console.log
是異步的。但console.warn
和console.error
正在阻止。這些不是異步的。
控制檯暫停可能會阻止Node.js操作的一些/大部分操作。 ESP。因爲默認調試級別的Socket.io會報告不止console.log
。