Видно, изменился ли файл при обновлении (sha256 + отметка в админке)
Просьба с эксплуатации: после «Обновить сейчас» непонятно, подхватились ли правки таблицы. Теперь кэш считает sha256 скачанного файла и сравнивает с предыдущим чтением: - в логе: «Расписание загружено: N групп …; файл изменился/не изменился (sha256 ab12cd34)»; - состояние для админки дополнено полями changed / changed_at / content_hash; - в панели чипы «Файл при последнем обновлении», «Содержимое менялось», «sha256 файла», а после кнопки — понятное сообщение: «обнаружены изменения» либо «файл не изменился (на Диске та же версия)» с подсказкой про задержку публикации у Яндекса; - ответы API отдаются с Cache-Control: no-store, чтобы браузер не показывал закэшированные данные после обновления; - запросы к Яндекс.Диску идут с no-cache заголовками и меткой времени — меньше шансов получить закэшированную версию файла. Тест: test_state_reports_file_changes (первая загрузка, изменение файла, повторное чтение без изменений).
This commit is contained in:
@@ -103,6 +103,13 @@ nginx (https://schedule.our-place.ru) → 127.0.0.1:8090
|
||||
фонового обновления (интервал и так перечитывает таблицу целиком);
|
||||
- **задать интервал обновления** в минутах (`1…1440`).
|
||||
|
||||
Каждое обновление (и по кнопке, и по интервалу) **всегда перечитывает таблицу**,
|
||||
а в панели и в логе видно, изменился ли файл на Диске: `sha256`, время
|
||||
последнего изменения содержимого и отметка «изменился / без изменений».
|
||||
Если вы поправили таблицу, а после обновления написано «без изменений» — значит
|
||||
публичная ссылка Яндекса отдаёт прежнюю версию файла (бывает с задержкой),
|
||||
стоит повторить обновление через минуту.
|
||||
|
||||
Как это устроено:
|
||||
|
||||
- вход — `POST /api/admin/login`, сессия в подписанной HMAC-cookie
|
||||
|
||||
Reference in New Issue
Block a user