Кэш: по интервалу таблица перечитывается всегда
Поле modified у публичной ссылки Яндекса может «застыть» (кэш на стороне Диска), и проверка «modified не изменился → не скачиваем» держала старые данные до неопределённого момента: стенд показывал прежнее расписание, хотя в таблице правки уже были. Теперь на каждое обновление (и по интервалу, и по кнопке) таблица скачивается заново; modified только показывается в админке. Плюс к этому: - при старте пишем в лог предупреждение, если ссылка в настройках отличается от SCHEDULE_LINK из окружения (именно так терялось время в прошлый раз: на стенде в настройках была сохранена другая ссылка); - на странице админки у поля ссылки пояснение, что значение хранится в настройках стенда и имеет приоритет над .env.
This commit is contained in:
@@ -67,6 +67,13 @@ def default_settings() -> SettingsStore:
|
||||
|
||||
def default_cache(settings: SettingsStore | None = None) -> ScheduleCache:
|
||||
settings = settings or default_settings()
|
||||
if SCHEDULE_LINK and settings.link and settings.link != SCHEDULE_LINK:
|
||||
log.warning(
|
||||
"Ссылка в настройках (%s) отличается от SCHEDULE_LINK из окружения (%s); "
|
||||
"работаем по ссылке из настроек — её видно и можно поменять в админке",
|
||||
settings.link,
|
||||
SCHEDULE_LINK,
|
||||
)
|
||||
return ScheduleCache(settings=settings, retry_after=RETRY_AFTER)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user