2013-10-25 53 views
0

我有一個node.js服務作爲工作者角色在Azure中運行。默認情況下,每當拓撲改變時重新開始該過程,例如,實例計數通過Azure門戶增加。我怎樣才能防止這種重新啓動?如何防止node.js進程在Azure拓撲更改上重新啓動

MSDN文檔指出處理Azure的「更改」事件。 Azure Node SDK對取消的支持被添加了herehere

該代碼使用API​​將像

azure.RoleEnvironment.on(ServiceRuntimeConstants.CHANGING, function (changes) { 
    changes.cancel(); 
}); 

原木我知道處理程序被調用,但重新啓動仍發生之後。我錯誤地使用了API還是這是錯誤的方法?

回答

0

當您在取消事件時使用.NET中的角色更改事件時,實際上是要求系統重新啓動。對於Role Changing event on MSDN文檔說這個:

通過使用取消屬性,可以確保實例 收益通過一個有序的關閉序列,並在配置改變之前離線 拍攝應用。在關閉 過程中,Windows Azure引發Stopping事件,然後在OnStop方法中運行任何 代碼。

角色更改事件的想法是,如果您可以在運行時修改配置而不需要重新啓動,則可以這樣做。通過取消更改事件,實質上是說:「我無法在運行時更改此設置,因此請適度重新啓動,然後選擇新的更改。」

我還沒有嘗試過這與節點,但嘗試不取消它。

+0

對不起,澄清,我已經開始相反,沒有取消事件。這沒有用,所以我開始嘗試相反的做法。 – foolscloud

相關問題