Я работаю над веб-сайтом, в котором есть раздел, который показывает информацию об акциях компании и данные, связанные с инвесторами.Эти данные извлекаются с помощью запланированных вызовов SOAP API.
Я создал две запланированные задачи для достижения этой цели:
- feth-data (каждые 10 минут): извлекает данные и сохраняет их в
cron_last_trade_price_graph
График, представляющий «цену последней сделки» относительно времени в течение дня - конечный день (в конце каждого дня): очищает устаревшие (последние два дня) записи данных
cron_last_trade_price_graph
и извлекает данные для его восстановления в cron_historical_data
. Эти данные будут использоваться для заполнения таблицы и графика исторических данных, которые показывают «цену закрытия» для акций за все время
Теперь это первыйКогда мне приходилось использовать задачи расписаний, и, поскольку я работаю с важными данными, мне нужно убедиться, что моя реализация надежна и избежать каких-либо проблем.
В общем, мой вопрос: каковы соображения (что нужно и чего нельзя) при работе с приложением, которое зависит от запланированных задач?
Например:
- Если сервер не может выполнитьзапланированное задание (скажем,
end-day
). Каков наилучший подход для повторной попытки выполнить эту задачу?
Возможное решение : создание строки заполнителя на следующий день, данные которогодолжен быть извлечен и сохранен, имеет столбец is_historical_data_row_successfully_added
со значением по умолчанию 'NO', а затем создает другое запланированное задание (fix-historical-data
), чтобы проверить, была ли эта строка-заполнитель успешно заполнена, и заполнить ее, если нет.
Озабоченность : Что делать, если fix-historical-data
также не удалось?Тогда было бы лучше запланировать fix-historical-data
, например, 3 раза в течение дня?Я чувствую, что это довольно грязное решение. - Должно ли приложение загружаться для каждой запланированной задачи? : приложение использует Wordpress в качестве своей CMS.Должен ли я загружать Wordpress для
fetch-data
, в то время как ему едва ли нужна функциональность Wordpress?Должен ли я загружать Wordpress, когда задача сильно зависит от него, а не загружать Wordpress, когда задача не зависит?Какова лучшая практика здесь? - Структура кода : Должны ли запланированные задачи иметь независимый каталог?Или его файл и зависимости должны смешиваться с другими файлами приложения?
Это проблемы, о которых я могу думать в данный момент.Есть ли еще какие-то соображения, о которых мне нужно знать?