问题标签 [nesper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
148 浏览

esper - 使用文件中的时间戳时如何指定时间?

在 Esper 中是否可以从输入中管理时间戳。我使用的文件如下所示:

如何配置 Esper 以便可以使用

这样我得到这样的结果:

编辑:

然后我解析我的数据集并发送事件,如下面的答案所述:

0 投票
1 回答
36 浏览

esper - 嵌套两个 crontab 上下文如何工作?

是否可以像这样嵌套两个 crontab 上下文?

第一个上下文是否决定了第二个上下文?

如果是这样,我认为,A 应该是第一个,因为它决定了日子,只要日子在第一个上下文中,第二个就会存在。

0 投票
1 回答
143 浏览

esper - 为什么这个上下文不起作用?

我希望在下面两个上下文中指定的时间之间选择相同的语句。但是我没有输出。当 B 处于活动状态且 C 处于活动状态时,如何在单个语句中使用嵌套上下文获取输出?

陈述:

0 投票
1 回答
102 浏览

esper - 如何在 Esper CEP 中触发部分匹配模式

我正在尝试解决路线违规问题。用户将路线定义为需要查看某些项目的一系列位置序列(按确切顺序)。所以可以说正确的路线是(这是由用户定义的)

A -> B -> C

我正在尝试编写 Esper EPL,它将在所有违反路线的情况下触发。A 是一个起点,它需要开始一个模式(一个有效的位置)。

A -> !B -> !C

当在 ESPER 中找到所有 3 种类型的事件时,这将触发。

但是我想要的也是当只有部分组合时开火

A -> !B

或者

!B -> !C

或者

B -> !C

因为如果在 B 上错过了路线,那么我可能永远不会来 C,也不会收到路线违规的通知。

这甚至可以用 Esper 中的模式实现吗?

0 投票
1 回答
52 浏览

esper - Esper:仅检测事件开始

我是 Esper 的新手(实际上是 NEsper),我一直在尝试(未成功)创建一个语句来检测事件何时开始。

例如,假设我有一个名为“开始投注”的事件类型,我想认为它是在 10 分钟后发生的“证明”。使用我一直使用的语句,10分钟后,update()每次有“证据”时都会触发该方法。

我试过类似的东西

但没有工作(从未检测到事件)。

希望我已经说清楚了。

任何提示将不胜感激。

0 投票
1 回答
170 浏览

esper - 使用 win:time 窗口时,Nesper 的 CPU/内存使用率很高

我使用Nesper作为 CEP 引擎来处理我的应用程序中的事件。

我正在尝试对以下 EPL 语句进行建模:

  • 事件的Value场是在有限的窗口时间内平均的。
  • 如果这些平均值中的任何一个与1期望值匹配,则会生成一个事件。

我将其建模为:

在一个单独的线程中,我以50 event/sec的稳定速率为引擎提供参数值。

com.espertech.esper.client.EPException: ReaderWriterLock timeout expired在发生异常之前,此设置会导致大量 CPU 和 RAM 使用。

我想知道是什么导致了这个问题。有趣的是,当我将窗口从更改为时win:time(3 sec)std:lastevent()此问题得到解决。但是,我需要窗口来确保参数的值1在生成事件前 3 秒。

完整的演示代码如下。你只需要安装Nesper包来运行它:

0 投票
1 回答
104 浏览

java - 如果在给定的时间段内没有传入事件,如何触发 esper

我已将 esper 处理器配置为在 kafka 中收听消息。

通常select * from events.win:time(2 min)会在最后 2 分钟内触发所有事件现在,如果过去 2 分钟内 kafka 中没有消息,我想触发通知。

我应该如何处理它,当我写这样的东西 select * from events(Ip='1.1.1.1').win:time(2 min) 时不会有匹配的消息/事件并且 esper 没有触发。

如果在给定时间内没有事件,我应该如何触发 esper

提前致谢

0 投票
1 回答
76 浏览

c# - Nesper 引擎/C#:内部当前时间问题

我在 C# 中使用 Nesper 引擎(http://www.espertech.com/esper/nesper.php),我遇到了一个问题。

尝试检索引擎的内部时间时,返回的日期似乎是错误的,因为它是昨天的日期。

下面的代码是重现问题的虚拟示例。据我了解,“engineTime”和“DateTime.UtcNow”应该相等,但事实并非如此。

我在控制台中得到的结果是:

问题来自 Nesper,还是我的“Nesper2DateTime”功能错误?

谢谢你的帮助

0 投票
1 回答
55 浏览

esper - 如何在窗口中获取 max(val) 和 min(val) 的时间戳?

如何在 NAMED WINDOW 或 WINDOW 中获取 MAX(val) 和 MINval) 的时间戳?

窗户:

每次释放窗口时,我都想要 t1 的最小值和 t4 的最大值。

我尝试在我的 NAMED WINDOW 上使用子查询,但它说不允许子查询中的聚合。考虑改用 INSERT INTO。

有人可以帮我吗?

谢谢

0 投票
1 回答
82 浏览

sql - esper 检测事件值的变化

嘿!我的 esper 代码有一个小问题。输入是这样的:

我有一种类型的事件,它有一个变量名和一个值。我想检测一个特定变量的值的变化。所以我需要一个选择语句,它为我提供数据:

  • 秒 4(温度从 1->2 变化)
  • 秒 5(按从 1->2 更改)
  • 秒 6(速度从 1->2 更改)
  • 第二个 7(按从 2->1 更改)
  • 秒 9(温度从 2->3 更改)

我尝试了不同的东西,priorprev没有任何效果。这是我做的最合理的一个,但它并没有给我我想要的结果。我用一种模式进行了尝试,但是使用@SuppressOverlappingMatches 导致内存过载。