欢乐后处理器

时间:2015-10-12 16:09:56

标签: sql postgresql mirth

我有一个频道,它有一个配置为每5秒执行一次SQL请求的阅读器,并在另一个表中插入一个新行。

将数据插入的表格:

CREATE TABLE timings(
    id SERIAL NOT NULL,
    type TEXT NOT NULL,
    time TIMESTAMP NOT NULL
);

后处理器中的请求:

INSERT INTO timings (type, time) VALUES (${name}, NOW());

${name}来自主SQL请求。

在执行请求(将生成消息的请求)之后,它会执行后处理器请求,即使请求中没有输出任何内容。有没有办法只在SQL请求返回什么时运行后处理器脚本?

此外,即使没有生成数据,它也每隔5秒使用一次最后更新名称。奇怪的是,它为所有新的${name}使用了最后一个更新名称(INSERT),导致包含相同数据的大量行(time列除外) )。这是正常的吗?

我正在使用PostgreSQL作为数据库引擎。

2 个答案:

答案 0 :(得分:0)

每次在所有目的地运行消息时都会执行后处理器。如果您只想在目的地成功的情况下执行请求,请使用响应变换器。它们位于变压器下方的通道任务中。 在那里你可以使用responseStatus。

    if (responseStatus == SENT) {
// do your stuff
}

答案 1 :(得分:0)

使用后处理器不是我的数据库写入的地方。一个简单的目的地将工作正常。然后你可以为一个空的"名称"在源头上。