Есть сервис, у которого должен своевременно обновляться "каталог" - выгрузка из базы. Мониторинг знает время последнего обновления в базе и текущую версию "боевого" каталога. Версия - это просто набор цифр, который гарантированно меняется при получении следующей выгрузки. В попытках замониторить своевременность обновления каталога родил такой триггер:
Здесь я пытался записать следующий алгоритм:
Если версия "боевого" каталога совпадает с той, что была сутки назад (каталог в бою не обновился) и при этом, в БД таймстемп новой версии больше того, что был сутки назад (в БД каталог обновился), то у нас проблемы.
Однако, такой триггер переходит в состояние аварии, хотя последнее обновление в БД было 4 дня назад, ровно тогда же обновился и каталог. Третий день смотрю в выражение триггера и не могу ничего придумать. Что я упустил?
Code:
{catalog_version[local,version].last(,86400)}={catalog_version[local,version].last()} and {catalog_timestamp.delta(86400)}>86000
Если версия "боевого" каталога совпадает с той, что была сутки назад (каталог в бою не обновился) и при этом, в БД таймстемп новой версии больше того, что был сутки назад (в БД каталог обновился), то у нас проблемы.
Однако, такой триггер переходит в состояние аварии, хотя последнее обновление в БД было 4 дня назад, ровно тогда же обновился и каталог. Третий день смотрю в выражение триггера и не могу ничего придумать. Что я упустил?
Comment