2
我的理解是,運行的NodeJS直到所有事件從事件隊列倒掉,然後它會退出。在各種情況下,我寫了一個腳本,使用第三方模塊,它做我想要它做的事情,但不會退出。我認爲這是因爲一些其他第三方模塊在事件隊列中有某些東西。理解的NodeJS事件隊列
我能做些什麼來觀察排隊,鼓勵排隊,甚至確定誰還有事情要做(也許得到足夠的信息知道如果我處理。退出,無論如何,沒有傷害將是完成)
感謝您的建議。
我的理解是,運行的NodeJS直到所有事件從事件隊列倒掉,然後它會退出。在各種情況下,我寫了一個腳本,使用第三方模塊,它做我想要它做的事情,但不會退出。我認爲這是因爲一些其他第三方模塊在事件隊列中有某些東西。理解的NodeJS事件隊列
我能做些什麼來觀察排隊,鼓勵排隊,甚至確定誰還有事情要做(也許得到足夠的信息知道如果我處理。退出,無論如何,沒有傷害將是完成)
感謝您的建議。
沒有訪問這些模塊,你可以做的不多。
的setInterval會阻止你停止的應用程序,但你可以調用clearInterval這些定時器。您的挑戰將是管理這些間隔對象,並在需要移除應用程序時執行清理。
一個哈克和直線前進溶液。將「替換」有定製的setInterval默認方法,將登記間隔和行爲方式如從圖使用點默認相同。那樣你就可以更容易地收集所有間隔句柄。
「運行的NodeJS,直到所有的事件從事件隊列倒掉,然後將退出」 - 真的嗎?所以,如果你使用Node構建一個網站,如果沒有人訪問它,它會自動關閉?也許我誤解了你的問題。 –
看看process._getActiveHandles()和process._getActiveRequests()(https://groups.google.com/d/msg/nodejs/ztspFn-BKgE/qw1I9VLSG_gJ) –
@ PaulD.Waite,這將真正節省資源wouldn 't ;-)但嚴重的是 - 如果你有一個「NodeJS將會/不會退出的情況」的鏈接,那會很有幫助。我在下面的答案中看到,至少添加一個SetInterval將阻止應用程序停止。 – nwaltham