У меня есть болт, который загружает данные из файла на диске (скажем /blah/blah/movie_data.csv
), используя метод (скажем loadDataFromFile()
) и сохраняет его в памяти. Этот файл обновляется каждый день до 10 часов утра (гарантированно обновляется до 10 утра). Я хочу, чтобы мой болт перезагрузил все данные в файле после его обновления (в любое время вскоре после 10 часов утра).Опрос и запуск задачи в штурмовом болте
Как это реализовать? Должен ли я опросить movie_data.csv
и проверить, что временная метка более поздняя, чем последнее время загрузки файла, и если да, активируйте метод loaddataFromFile()
? Или это можно сделать, используя некоторую форму tick
кортежей?
Мне не нужен код/псевдокод. Просто некоторые указатели на библиотеки/классы, которые могут иметь значение. Я уже посмотрел на кортеж tick
, но, похоже, это не помогает, так как я хочу обновить файл в определенное время, а не каждые T секунд.
Есть ли способ для болта получить кортеж tick
в назначенное время (например, 10 часов ежедневно)? Таким образом, мне не нужно будет использовать опрос, чтобы проверить, обновлен ли файл.
Кто пишет файл, вы какое-то влияние на этот процесс? Я бы лично создал MD5 или SHA1 файла, поместил его в хранилище данных и проверил его на носике, чтобы запустить процесс, если он изменился. – zenbeni