В зависимости от базы данных у некоторых есть «уведомления» (я думаю о Postgres здесь).Это позволяет вам запустить процесс и позволить другим вещам в PG уведомлять вас, когда они происходят.
Т.е. в этом сценарии, когда запись изменяется с истечением времени ожидания, у вас может быть триггер, уведомляющий ваш процесс синхронизации(который находится на совершенно другом соединении с БД), и он может затем вставлять записи @at, или записи cron, или все, что вам нужно делать на вашей стороне для управления и выполнения действий.
В новейшей версиирелизы PG, вы можете отправлять данные вместе с уведомлением, то есть вы можете отправить значение PK записи, которая изменилась.
Clients --> [Postgres] -----------<> Record Monitor client ---- > process records()
| |
records_table |
| |
\_ timing_Trigger() --/
on_update/insert/delete notify RecordMonitorClientOfChange.
Супер дрянная диаграмма того, что я бы сделал.