Tricky.
Пара идей.
Вы можете перенести вызов fetch_rss в свой контроллер. Кеш - это просто хеш, доступный вашему приложению. Так что это требует немного дополнительной работы, но это, вероятно, самый прямой подход. Явно проверьте кеш и либо вызовите fetch_rss , если кеш устарел, либо извлеките значение rss из кеша и перейдите в представление для рендеринга в обычном режиме.
В качестве альтернативы, вы можете получить извлечение для выдачи ошибки, а затем обернуть в обработчик исключений. Если есть исключение, вы бы поймали и вызвали expire_fragment .