У меня есть база данных postgres с таблицей, содержащей строки, которые я хочу просматривать с псевдослучайными интервалами. Некоторых я хочу посмотреть один раз в час, некоторых раз в день, а некоторых раз в неделю. Я хотел бы, чтобы поиски происходили с псевдослучайными интервалами внутри их временного окна. Итак, поиск, который я хочу сделать один раз в день, должен происходить в разное время при каждом запуске.
Я подозреваю, что есть более простой способ сделать это, но вот примерный план, который у меня есть:
Есть столбец настроек для каждого элемента поиска. Когда скрипт запускается, он рандомизирует время эпохи для каждого поиска и устанавливает его в столбце настроек, определяя время для следующего поиска. Затем я запускаю непрерывный цикл с ожиданием 1, чтобы посмотреть, совпадает ли время эпохи с любым из запрошенных поисков. После запуска поиска, он пересчитывает, когда следующий поиск должен быть.
Мои вопросы:
Даже на этапе проектирования это выглядит как рутина из клейкой ленты и шпагата. Какой правильный способ сделать это?
Если случайно моя идея - правильный способ сделать это, является ли моя идея повторить цикл с ожиданием 1 правильным путем? Если бы у меня было 2 поиска подряд, есть шанс, что я могу пропустить один, но я могу жить с этим.
Спасибо за вашу помощь!