使用来自 Postgres table 的 ID 创建自定义 AWS cloudwatch 指标

create custom AWS cloudwatch metric with ID from Postgres table

我有一个有趣的问题需要解决。我在 Postgres 中有一个 table A。 table 被视为具有一组任务的队列。 ID 是 Postgres 中的增量 id。

我想要一个指标来包含当前处理的位置 (ID) 和 ID 的最大数量。这两个数字每秒都在累积。

有什么有效的方法吗?

我认为最简单的方法是每 10 秒执行一次 SQL 查询(不定):

select blablah from table 然后按 asc

限制 1 个订单

得到最小的id,用同样的方法得到最大的id。

但是这个命令很昂贵。有没有更好的方法来做到这一点?

当您将新记录插入 table 时,return 记录 ID。当您提取记录时,请执行相同的操作。您可以将其缓存在内存、文件、不同的数据库 table 等中。然后 运行 计划任务将 post 这些值作为自定义指标发送到 CloudWatch。

例子(很简单)SQL插入新记录时对returnID的语句:

INSERT INTO table (name) OUTPUT Inserted.ID VALUES('bob');