Есть .xml файл, который находится на стороннем сервере. Из него получаю данные акций.
Обращаться к этому файлу можно только 50 раз в день, вследствие чего было принято решение кэшировать данные.
1. Торги идут с 17:30 до 00:00.
Всего делаю 5 запросов, по 1 запросу каждый час.
2. Во время запроса проверяю наличие данного файла X (файл на моем сервере).
3. Если данного файла нет - создаю его. Если есть - перезаписываю только в том случае, если содержимое файла X не совпадает с содержимым файла Y (который находится на стороннем сервере).
4. Затем вывожу содержимое файла X.
4. Если время не 17:30 - 00:00, то вывожу данные X.
— Логика верна?
Примерно так должно выглядеть условие:
if (такое-то время) {
if (проверяю наличие файла X) {
if (содержимое файла X == содержимое файла Y) {
вывожу содержимое файла X
} else {
перезаписываю содержимым файла Y
вывожу содержимое файла X
}
} else {
создаю файл
вывожу содержимое файла X
}
} else {
вывожу файл X
}
И по поводу времени. В промежуток времени 17:30 - 00:00 нужно сделать максимум 5 запросов. Поэтому хочу разделить время:
if ($hour == 18 or $hour == 19 or $hour == 20 or $hour == 21 or $hour == 22 or $hour == 23 or $hour == 00 )