1
我遇到了一個問題,我不知道它爲什麼會出現。 我有一個InputAdapter接收隨機生成的事件用於測試目的。StreamInsight:CleanseInput丟棄事件
以下代碼創建一個查詢,其中會丟失大量事件。我實際上想要保留它。
var atgs = new AdvanceTimeGenerationSettings(config.Input.EventCount,
TimeSpan.FromSeconds(config.Input.Delay), true);
var ats = new AdvanceTimeSettings(atgs, null, AdvanceTimePolicy.Adjust);
var dstream = CepStream<Dataclass>.Create("Data Input Stream", typeof (InAdapterFactory),
config.Input, EventShape.Point, ats);
Query output = dstream.ToQuery(myApplication,
"Sample unbounded query",
"Query with no output adapter",
EventShape.Point,
StreamEventOrder.FullyOrdered);
output.Start();
var instream = output.ToStream<Dataclass>();
有沒有人有一個想法,爲什麼DataInputStream和DatainputStream_CleanseInput所有事件的五分之一之間打通通過呢?看到下面的圖片。有沒有辦法避免這種情況?
https://dl.dropboxusercontent.com/u/15482726/CleanseIssue.jpg
我任何幫助非常感謝。
最好的問候, 喬
你知不知道爲什麼這些事件違反了CTI?我怎樣才能避免這種情況? – ProggerJoe
沒有看到你的輸入適配器,我不能說。這完全取決於你如何設置事件的開始時間。如果您記錄事件,您實際上會看到哪些事件由於違反CTI而被丟棄。它們將出現在Input運算符中,但在「獲取」InputAdapter_Cleanse之前就會丟失。調試器還會爲您提供關於有多少事件被丟棄的統計信息。 – DevBiker
我解決了這個問題,我在一個單獨的線程中啓動了Inpud適配器,該線程負責混合輸出。無論如何,感謝您的幫助。 – ProggerJoe