2012-07-16 70 views
0

我一直在嘗試使用powershell,Azure Emulator和azure node.js sdk創建工作者角色,但是當我嘗試開始向工作人員添加模塊時,我一直遇到問題處理。Windows Azure Node.js良好工作者角色示例

這是我所採取的步驟:

1)運行PowerShell的 2)創建一個新的蔚藍的node.js項目

新azureserviceproject

3)添加webrole

add-azurenodewebrole

4)添加輔助角色

附加azurenodeworkerrole

如果我在這個階段

啓動 - 啓動azureemulator

該網站運行正常,沒有任何錯誤,IIS運行項目。但是,當我開始將新模塊安裝到輔助角色並嘗試再次運行時,我得到了Windows IIS錯誤,例如「Windows Azure Web角色入口點已停止工作」,但沒有關於爲何停止的更多信息。是否有其他人遇到這些錯誤,更重要的是,有沒有人有任何關於如何創建一個工作者角色來運行cron作業並與我的Windows Azure表存儲器交談的例子?我想要做的就是每5秒鐘運行一次cron作業,以檢查表格存儲是否有任何新的更新並執行某些操作。

任何想法?錯誤的

詳情:

Problem Event Name: APPCRASH 
Application Name: iisexpress.exe 
Application Version: 8.0.8298.0 
Application Timestamp: 4f620349 
Fault Module Name: iiscore.dll 
Fault Module Version: 8.0.8298.0 
Fault Module Timestamp: 4f63b65c 
Exception Code: c0000005 
Exception Offset: 00021767 
OS Version: 6.1.7601.2.1.0.256.28 
Locale ID: 1033 
Additional Information 1: f66d 
Additional Information 2: f66d807b515d6b2dc6f28f66db769a01 
Additional Information 3: 7b2f 
Additional Information 4: 7b2f6797d07ebc2c23f2b227e779722e 

更新,如果我降低實例數爲1,這兩個webrole和輔助角色,然後它不會崩潰,也許是與湛藍的模擬器有問題嗎?

回答

0

這裏有幾個問題,讓我們從第一個開始。可以在這裏找到一個體面的樣本,用於添加模塊(socket.io)的工作者角色: https://www.windowsazure.com/en-us/develop/nodejs/tutorials/app-using-socketio/

接下來是關於Windows上模塊的對話。一些具有二進制依賴關係的模塊不能在Windows上運行。這已經成爲一個相當小的數字,但它仍然是一種可能性。你應該看看你是否可以在模擬器之外運行你的工作者角色代碼來驗證這一點。

接下來我們應該考慮這個過程。通常,您需要將需要操作的更改從Web角色推送到存儲隊列中,然後從工作角色的隊列中取出。如果你有一個「cron模塊」,那麼當定時器事件被觸發時,從隊列中拉出最前面的項目。你總是可以在這裏睡覺,但是這種阻塞在節點世界中被壓低了。

0

這可能沒有關係,但我想我應該提及它。我遇到了一些問題,因爲NodeJS的默認版本似乎太老,無法與我使用的模塊一起工作。您可能需要更改NodeJS的版本。要查看可用的版本列表:

Get-AzureServiceProjectRoleRuntime 

然後,應用特定版本(例如):

Set-AzureServiceProjectRole [Role_Name] Node 0.10.21 
相關問題