2016-03-29 36 views
0

我們在服務器的靜態隊列中有很多任務。當服務器關閉(或重新啓動)時,我們不希望丟失這些任務,因此我們會將它們存儲在數據庫結構中。在啓動時,這個數據庫結構將被轉儲回靜態隊列,這些排隊的任務將繼續處理。node.js關機/重啓觀察器

如何檢測到關閉,暫停關閉,然後在上面的DB存儲功能執行後繼續關閉?從什麼情況下應該進行關機觀察?

+0

您的問題中沒有足夠的細節來提供任何形式的答案。請編輯您的問題,以提供有關您的方案的更多詳細信息,您需要執行的操作以及爲什麼 –

+0

@DerickBailey在我正試圖完成的內容中添加了更多細節。 – hownowbrowncow

回答

1

我不確定我是否理解你的問題,但是如果我明白了你的想法,你想在你的腳本退出之前運行一些代碼來做一些清理工作。

您可以使用process.on(event, handler)註冊一個退出處理程序腳本的各種事件,包括exit(腳本退出),SIGINT(用戶按Ctrl + CS腳本)和uncaughtException(拋出一個異常沒有被捕獲)。看看this answer

+0

是的,這是完全正確的。基本上我想記錄當前的操作狀態,然後繼續啓動。在相關答案中,以及「過程」是什麼?這個事件處理程序放在什麼上下文中?它可以任意放置在代碼庫中嗎? – hownowbrowncow

+0

我建議你把它放在你的腳本的開頭(也許在所有'require's之後),因爲如果在註冊退出處理程序之前發生了錯誤,它將不會被考慮,你將無法記錄您的當前狀態。 – christophetd