使用来自 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');
我有一个有趣的问题需要解决。我在 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');