2012-01-25 17 views
2

我想使用Wasabi塊來自動縮放我的Azure應用程序。 Looks like規則必須在XML文件中進行硬編碼。這讓我困惑,因爲我想要的應用程序的規則需要一個相當複雜的指標,我必須在代碼中進行計算。如何在我的代碼中定義Wasabi Azure縮放塊的規則?

就像一個瘋狂的例子,假設我的應用程序生成一個隨機數字流 - 零和一個 - 並且每個實例計算行中的「1」數和行中的「零」數。當任何實例遇到十個或更多個連續「1」時,我想擴大規模,並在任何實例遇到十個或更多連續「零」時縮小規模。

我可以在我的代碼中檢測到這種情況沒有問題,但我如何讓Wasabi對它們做出反應並擴展應用程序?

回答

2

爲了實現這一點,您需要實現一個CustomOperand和一個關聯的Custom DataCollector。 http://msdn.microsoft.com/en-us/library/hh680912(v=pandp.50).aspx

在TailSpin示例應用程序中有一個這樣的例子。我會通過看ActiveSurveysDataPointsCollector類和工作的方式從那裏備份啓動(自定義操作中消耗IDataPointCollector實例,然後操作數被引用,像所有其他操作數,從規則的XML。

你」我們將實現方法public IEnumerable Collect(DateTimeOffset collectionTime)這就是你想要查看你的比特流或由你的比特流創建者設置的其他標誌的位置。沒有辦法向Wasabi發信號以同步方式;您將始終使Collect方法執行並從您的應用程序中檢索該信息(或者隨後計算它)。

+1

好回答呃,克里斯。 Tailspin示例應用程序是瞭解如何定義自定義操作數的一種方法。此外,您可能想看看動手實驗#7,它將引導您完成相同的過程 - http://www.microsoft.com/download/en/details.aspx?id=28785 –

+0

這是一個古老的問題,但我想知道Grigori是否會對此發表評論。 在我的反應規則中,我希望操作可以通過「x」擴展,而不是XML文件中的硬編碼數字。我的被​​動規則需要計算工作角色需要擴展的實例數量,然後需要將其傳遞給塊。我怎樣才能做到這一點? –

相關問題