【问题标题】:Zapier PostgreSQL Geckoboard integrationZapier PostgreSQL Geckoboard 集成
【发布时间】:2016-12-08 04:46:23
【问题描述】:

我正在尝试设置在发现新行时更新的每日指标。查询如下所示:

SELECT COUNT(distinct be.booking_id) AS "id"
FROM booking_events be
WHERE be.event IN ('approve', 'instant_approve') AND
      be.created_at >= current_date AND
      be.created_at < current_date + INTERVAL '1 day';

问题是 Geckoboard 上的计数/数字会在前 24 小时左右自行更新,但在那之后,它会停止更新,即使当我运行完全相同的查询时,数字显然会发生变化。 我很难思考为什么这不起作用。 According to Zapier's docs 他们在我指定的“id”列上进行了重复数据删除。

-- 更新--

我想我已经解决了部分问题。文档说:

一旦 Zapier 看到 Zap 的物品,它就永远不会再次触发 即使该项目将来更新。

查看每日指标时,它仅在前 24 小时内有效是有道理的,因为所有不同的结果之前已经发生过一次,因此不会再次触发。

【问题讨论】:

    标签: postgresql zapier geckoboard


    【解决方案1】:

    我们通常建议使用自定义 SQL 查询强制触发的一种方法是伪造一个“id” - 您可以执行类似 SELECT timestamp() - (timestamp() % 86400) as id, * FROM table(伪 sql)之类的操作,该方法每天触发一次。

    基本上,通过可能伪造的“id”列,您可以控制 Zapier 认为什么是新记录。

    【讨论】:

    • 我怎样才能做到这一点?
    • 我不能只使用时间戳作为 id 吗?
    • 如果您使用时间戳作为 id - Zapier 将在每次轮询时触发。如果您不介意冗长的任务,这可能会起作用!
    • 小时也有效 - 只需将 86400 替换为 3600。这些只是间隔中的几秒钟。
    • 我在这方面花了很多时间,所以如果您能将答案构建到上述查询中,我将不胜感激。我只是想确保我做对了。
    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 2019-12-24
    • 2021-12-12
    • 2021-02-12
    • 2019-07-27
    • 2021-05-21
    • 2021-01-14
    • 2017-12-12
    相关资源
    最近更新 更多