连续输出streaminsight

时间:2013-04-01 18:02:45

标签: streaminsight

是否可以通过streaminsight获得连续的输出流?我的问题是,当我使用跳跃/翻滚窗口对输入流进行查询时,如果没有输入事件,查询不会给我任何输出。这听起来很正常,但是当没有输入事件时,是否有可能获得一个窗口机制,每隔5秒就会输出一次?

这是我的代码可能在此之后问题变得清晰:

var inputStream = CepStream<ServiceBusMessage>.Create("Inputstream Portal Orders");

// Counts the number of messages in a window of 5 seconds
var countStream = from w in inputStream.TumblingWindow(outputConfig.windowSize)
                  select w.Count();

var queryTemplate = app.CreateQueryTemplate("Count Window Portal Orders", "des...", countStream);

var queryBinder = new QueryBinder(queryTemplate);
queryBinder.BindProducer<ServiceBusMessage>("Inputstream Portal Orders", inputAdapter, config, EventShape.Point);

// Just an simple outputadapter
queryBinder.AddConsumer<long>("output", outputAdapter, outputConfig, EventShape.Point, StreamEventOrder.ChainOrdered);

var query = app.CreateQuery("Counter portal orders", "des...", queryBinder);

query.Start();

我想要的输出让我们说这个输入:

example input
input time 1: x
input time 2: x
input time 6: x
input time 16: x

expecting output:
2 events in last 5 seconds
1 events in last 5 seconds
0 events in last 5 seconds
1 events in last 5 seconds

希望这个窗口机制在streaminsight中是可能的,我google了很多东西阅读开发人员指南,但注意到处理有争议的输出或类似的东西。 希望有人可以帮助我!

1 个答案:

答案 0 :(得分:0)

没有窗口机制具有您想要的行为。

你是如何使用输出的?可能有另一种方法来解决这个问题。