问题标签 [epl]

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 回答
251 浏览

complex-event-processing - Esper 用户定义函数,带有两个参数

我想编写一个 esper epl 表达式,它根据我的用户定义函数返回的返回值过滤事件,我的用户定义必须一次接受两个事件对象。所以我写了一个这样的查询。

虽然这有效,但它一次只传递一个 CandleStickEvent 对象,但我想传递窗口中的两个对象。

为了实现这一点,我也尝试了以下查询。但是没有任何效果。

这给出了这个错误信息,

'window' 聚合函数要求聚合事件提供删除流;请在流上定义一个数据窗口或使用“firstever”、“lastever”或“nth”代替

我也尝试以下查询,

它没有给出任何错误,但我的功能永远不会被触发。

任何人都可以帮助我找到满足此要求的方法。

谢谢你。

0 投票
1 回答
61 浏览

complex-event-processing - 简单的事件序列

假设正在发出 A、B、C 或 D 类型的事件。我想检测一个 A 类型的事件后面跟着一个 B 类型的事件。换句话说,我想检测一个序列,Esper 的 EPL 为其提供了->运算符。

但是,我上面描述的是模棱两可的,我想要的是以下内容:每当检测到 B 时,我希望它与最近的 A 匹配。

我一直在玩 EPL 的语法,但我能想到的最好的方法是:

但是,这会将每个 B 与最后一次匹配后出现的最旧 A 进行匹配。诡异的...

非常感谢您的帮助!:P

0 投票
1 回答
701 浏览

php - ESim(EPL 模拟器):不知道如何将数据发送到打印机

我正在使用为 ESim 设置的 Intermec 打印机 PC43d。而且我不知道如何用 PHP 或 javascript 将数据发送到这台打印机。

在我的计算机上检测到打印机,我可以打印带有条形码的标签。

我想向这台打印机发送类似的东西

所以我需要你的帮助。

0 投票
1 回答
192 浏览

esper - 如何在 EPL ESPER 上的特定条件成立之前保持独特性

我有两种事件类型(A 和 B)。我想编写一个模式来检测在具有相同 id: 的A事件之后发生的每个B事件。但是,它应该是不同的 ID。换句话说,模式应该忽略第一个之后的所有具有相同 id 的A事件,直到上面的表达式为真,意味着具有相同 id 的B事件来了。every A -> B (A.id = B.id)

例如,假设这是一个事件流:

1. A (id: 1); 2. A(id: 2); 3. A (id: 3); 4. A(id: 1); 5. A (id: 2); 6. B (id: 1); 7. B (id: 2); 8. A (id: 1); 9. B(id: 3); 10. A (id: 1); 11. B (id: 1)

该模式应忽略事件 No4,因为它与事件 No1 具有相同的 id。当事件 No6 到来时,模式应该匹配1. A (id: 1) -> 6. B (id: 1)。然后,该模式应该允许 id=1 的新A事件。因此不应忽略事件 No8,但应忽略事件 No10。当事件 No11 到来时,模式应该再次匹配8. A(id: 1) -> 11. B(id: 1)

此外,事件No2 应该匹配事件No7,事件No3 应该匹配事件No9。

我曾尝试使用EVERY-DISTINCT(A.id) A -> B (A.id=B.id),但它会忽略第一个之后具有相同 id 的所有A事件。然后我尝试EVERY (A -> B (A.id = B.id))了,但它也不起作用,因为它忽略了所有A事件而不管 id 直到具有相同 id 的B事件出现。

0 投票
0 回答
364 浏览

java - Esper Java EPL 模式

我想处理以下 JSON 对象:

为了获得以千瓦时为单位的每个传感器的每日消耗量。到目前为止,我已经创建了以下 Java 类:

使用此 epl 查询:

- -更新 - - - - - - -

它产生以下错误:

0 投票
1 回答
446 浏览

shipping - 如何在 Zebra LP2844 上调整备份位置

我有一个用于打印标签的 Zebra LP2844(它最初是 FedEx 版本,但我将它与其他软件一起使用)。它工作正常,但没有将标签向前移动足够远以轻松将其撕下,而且我一直将标签撕成两半。

它使用 EPL,我尝试使用“fB”命令更改备份位置,因此它会进一步向前吐出标签,但它没有做任何事情。我正在从 Seagull 驱动程序发送命令 fB250,它应该执行此操作,并且我能够从 Seagull 驱动程序工具发送其他命令和打印标签,但是这个没有任何作用。

有谁知道这台打印机是否不支持该推荐,或者我在这里遗漏了什么?我对 EPL 的标签格式方面有相当的了解,但我不熟悉使用它来更改打印机设置。

编辑:作为参考,这里是 EPL 手册,应该做我需要的命令在第 99 页:https://www.zebra.com/content/dam/zebra/manuals/en-us/printer/epl2-pm -en.pdf

谢谢。

0 投票
1 回答
334 浏览

java - 字符问题 Zebra 标签热敏打印机

我想在标签打印机上使用打印产品信息。我有 Zebra TLP 2844这台打印机支持 EPL2 编程语言。当我想打印非 ASCII 字符打印机时,只需打印“?” 而不是正确的字符。我做了什么?首先,我创建了一个包含以下内容的简单文本文件

əğüçşıö

并按CTRL+P进行打印。输出正常,打印机正常打印所有字符。

但是当我使用如下 EPL2 命令时

我的打印机给出以下输出

??ç??üö

我怎么解决这个问题?我使用 java print api 将命令发送到我的打印机。这是我的代码

0 投票
1 回答
42 浏览

java - 使用 epls 进行多个相关级别的计算

我是埃斯珀的新手。我需要帮助来维护EPL流程。我有一个javaEsperTest.java,该类每 10 秒将数据发送到EPL进行计算。

EPL 中,我有 4 个压缩级别。例如压缩A、压缩B、压缩C、压缩D。在每次压缩中,我们都基于一些字段进行分组。

完成CompressionA的计算后,我们提出了一个事件,即“ CompressionACompleted ”。在 ' CompressionACompleted ' 的基础上,我们开始计算CompressionB在CompressionB的计算完成后,我们提出了一个事件,即“ CompressionBCompleted ”。在' CompressionBCompleted '的基础上,我们开始计算CompressionC等等。

现在的问题是我有一个包含 100 个值的列表。java 类 ( EsperTest.java ) 将值一一发送给 Esper。因此,所有压缩都是针对列表中的每个值计算的。

现在,我希望 1 次压缩应该为所有 100 次更改计算一次。即,当向EPL发送100 个值时, CompressionA应计算所有 100 个值 1 次,然后 CompressionB 应在CompressionA完成后开始更新并更新整个窗口。然后 CompressionC 应该在 B 完成计算后开始更新。

我们当前的流程正在导致高CPU 使用率或高内存消耗,好像更改的值数会增加计算时间并增加复杂性。请帮助我在我的应用程序中更改EPL 的结构。

0 投票
1 回答
87 浏览

esper - 使用过滤器匹配最新 A 和所有 B 的 EPL 模式

我正在尝试找到一个 EPL 模式,该模式将匹配最新的 A,然后是任何和所有 B(prop1=A.prop1)。

使用与Esper 文档中定义的相同序列...

我正在寻找一个匹配 {A1,B1} {A1,B2} {A3,B3} {A4,B4} 的模式,假设它们都具有相同的 prop1 值。

所以准确地说,在第一次匹配之后,我不希望模式匹配器重新启动并寻找下一个 A 事件。

任何帮助都感激不尽!

0 投票
0 回答
3046 浏览

pdf - 将 CPL/EPL 转换为 PDF

我正在向第三方进行 API 调用以接收活动的回票。可以从 API 发回的票证的唯一格式是:

text/vnd.citizen-clp- 用于 Citizen 热敏打印机

text/vnd.eltron-epl- 用于电子打印机(或某些支持 EPL 仿真的打印机型号)

我的挑战是我网站上的用户需要获得他们的票,以便他们可以打印。这些用户将没有 Citizen 或 Electron 打印机。我需要将CPLEPL转换为PDF格式,以便我的客户可以打印他们的票。

过去其他供应商向我发送了 ZPL 格式的票证,我正在使用http://labelary.com/ZPL中的 API进行转换PDF——这非常有效。不幸的是,Labelary 只支持ZPL而不支持CPLor EPL

我的后端代码是用 PHP 编写的。

那么,有什么工具可以安装到我的服务器上来将CPL/转换EPLPDF吗?或者是否有任何在线工具(免费或商业)可以发送我的CPL/EPL并接收回一个PDF