Чтобы удалить неиспользуемый файл, нужно знать, какие документы на него ссылаются. Есть и второе условие: новая ссылка не должна появиться, пока файл удаляется или уже удалён. Поэтому очистку файлов приходится согласовывать с сохранением документов. Если ответ базы потерялся, нужно ещё установить, не появилась ли ссылка, о которой приложение пока не знает.
Сообщать о найденной ошибке бывает нужно раньше, чем удастся объяснить её причину. Я ориентировался бы на то, должны ли другие уже сейчас изменить свои действия: остановить запуск, перестать доверять данным или помочь с восстановлением. Ожидание готового исправления оставляет их работать без сведений, которые у нас уже есть.
Удаление данных затрагивает и работу, которая началась раньше. Запрос уже мог получить копию записи и продолжить готовить результат после очистки кеша. Поэтому очистку нужно связать с проверкой результатов незавершённых запросов: устаревшая копия не должна снова попасть в кеш или в ответ посетителю.
Черновик в браузере помогает сохранить работу при сбое, но не подтверждает, что сайт получил сообщение. По надписи «Сохранено» эту разницу не понять. Форме нужно сообщать, где остался текст и что с ним можно сделать дальше: восстановить, отправить или вернуться к уже принятому сообщению.
Сохранённая копия данных позволяет сайту пережить сбой внешнего сервиса: статьи и фотографии остаются доступны, пока источник не отвечает. Но без обновлений сайт не узнает, что автор добавил или удалил. Поэтому вместе с сохранением копии нужно решить, как долго её можно показывать без свежего подтверждения от источника.
Фоновый импорт избавляет от ручного обновления данных, если его результату можно доверять без проверки каждого запуска. При этом список публикаций на сайте может оставаться прежним по двум разным причинам: у источника ничего не изменилось или обновление давно не удаётся. Чтобы отличить одно от другого, нужно заранее определить, что задача должна подтвердить перед успешным завершением.