阅读Esper文档,我想利用按需查询。
但是,是否可以创建一个按需查询,该查询运行一定时间?
Esper是否支持这一点,或者我是否需要编写自己的实现,我知道我应该使用准备好的语句重复执行。
Esper文档:http://esper.codehaus.org/esper-4.0.0/doc/reference/en/html/api.html#api-runtime
发布于 2014-04-23 11:45:15
对于按需查询,运行一定时间的查询似乎与Esper连续查询相同。有什么意义?
发布于 2014-04-23 15:00:18
您可以使用只在特定时间工作的连续查询。如果您希望某个事件只在时间点之间触发,比如只在1月1日上午10点到11点之间触发,下面是一种方法:
select * from pattern [timer:at(0, 10:11, 1, 1,*) -> every MyEvent]
您可以使用timer:at指定一个时间范围,并使用-> (后跟)只使事件触发器在特定的时间范围内。上面的示例只在您指定之后的第一次1月1日10到11之间起作用。所以这是一种按需查询。它假设您感兴趣的事件称为MyEvent。
您也可以在经常性时间段中使用此方法。例如,以下查询允许MyEvent在4月的每个星期一触发:
select * from pattern [every timer:at(0, 0:23, *, 4, 1) -> every MyEvent]
另一种方法是使用Esper日期时间方法。这允许更多的控制和更复杂的查询,但您需要从事件本身(或来自另一个事件)获得时间信息。
https://stackoverflow.com/questions/23241363
复制相似问题