Перед началом
- Список используемых приложений, планировщиков и внешних сервисов.
- Доступ к статусу задач приложения и соответствующим образом отредактированным логам.
- Отдельная тестовая среда и одобренный получатель тестовых уведомлений.
2. Дайте каждой задаче короткую операционную карточку.
Используйте одну строку на каждый отдельный вид работы. Добавьте часовой пояс, идентификатор выполнения, обычную продолжительность после измерения, последний полезный результат и ответственного за сбой. Не помещайте в карточку пароли, токены или полные тела приватных уведомлений.
| Гипотетическая задача | Триггер | Полезный результат | При сбое |
|---|---|---|---|
| Еженедельный дайджест вики | Согласованное еженедельное расписание | Одна сводка для предполагаемых получателей | Редактор проверяет список получателей и путь доставки |
| Очистка файлов | Расписание обслуживания приложения | Подходящая временная работа удалена | Сопровождающий проверяет ошибки задач и рост дискового пространства |
| Напоминание календаря | Настроенное напоминание события | Ожидаемое напоминание для тестового события | Владелец проверяет настройки события и отправителя |
| Независимая резервная копия | Согласованное расписание резервного копирования | Новая точка восстановления с записанным результатом | Владелец резервных копий выясняет причину, прежде чем считать покрытие достаточным |
Расписания выше — примеры для принятия решения, а не значения по умолчанию для копирования в приложение. Запишите, как ведёт себя пропущенная работа после простоя: пропускается, догоняется или ставится в очередь на потом.
3. Проследите уведомление дальше «отправки».
Опишите путь от события приложения к очереди или процессу отправки, затем к почтовому сервису и предполагаемому получателю. Запишите, кто управляет отправляющим аккаунтом, где авторизованные сопровождающие получают учётные данные и какие ограничения или отчёты о сбоях предоставляет этот сервис. Выбор ресурсов VPS сам по себе не обеспечивает рабочую схему исходящей почты.
Документация Nextcloud явно описывает подключение к работающему почтовому серверу, а не наличие собственного полноценного почтового сервера. Функция тестового письма помогает проверить настроенный путь отправки. Nextcloud 33 настройка электронной почты.
BookStack также использует электронную почту для процессов управления аккаунтом и предлагает исходящие вебхуки для интеграций, управляемых событиями. Добавьте и то и другое в карту зависимостей, когда они включены; сломанный отправитель может повлиять на восстановление, а не только на удобство. BookStack электронная почта и вебхуки.
4. Решите, что означает повторение.
Для каждой задачи задайте два вопроса: может ли другой запуск начаться до завершения этого и что произойдёт, если она повторится после частичного выполнения работы? Обновление индекса файлов и сообщение, отправленное каждому участнику, имеют разные последствия. Запишите поведение приложения в отношении параллелизма и повторов, а не предполагайте, что все задачи можно безопасно запускать дважды.
В гипотетическом еженедельном дайджесте владелец ведёт запись предполагаемого отчётного периода и проверяет, был ли по этому периоду уже завершён успешный запуск, прежде чем повторять вручную. Это операционная проверка, а не утверждение, что выбранное приложение реализует подавление дубликатов. Если оно не предоставляет достаточных средств контроля, выберите более безопасную процедуру ручного восстановления, прежде чем полагаться на задачу.
5. Ограничьте побочные эффекты при восстановлении.
Восстановленная база данных может содержать ожидающую работу или устаревшее состояние событий. Перед запуском тестовой копии не дайте ей связаться с реальными получателями или внешними системами. Изолируйте тестовую среду, отключите её планировщики и обработчики, где это уместно, и направьте явно разрешённый тестовый вывод в контролируемое место назначения. Не предполагайте, что другое имя хоста изменит сохранённых получателей или URL вебхуков.
В примере семинара тестовая копия должна позволить сопровождающему проверить страницу и вложение, не отправляя повторно дайджест прошлой недели. Запишите, какие задачи остаются остановленными, как вы будете проверять ожидающую работу и кто может разрешить ограниченный тестовый запуск. Перед реальным переключением определите, какой экземпляр владеет запланированной работой, чтобы старая и новая копии не выполняли её обе.
6. Проверьте небольшой наблюдаемый результат.
Используйте безвредное тестовое событие с узнаваемой меткой и одним одобренным тестовым получателем. Запишите время триггера, запуск задачи, результат завершения и фактическое получение, где это применимо. Проверьте содержимое и ссылки, а не только факт прихода. Успешное действие приложения не доказывает, что каждое предполагаемое уведомление дошло до всех получателей.
Если ничего не приходит, проверяйте по порядку триггер, планировщик, ошибку задачи и путь отправителя. Если приходят дубликаты, прекратите повторные ручные попытки и определите, какой экземпляр или задача породил каждую попытку. Если работа задерживается, сравните возраст очереди или ожидающей задачи со временем выполнения и использованием ресурсов. Сохраняйте краткие доказательства, не копируя токены, тела приватных сообщений или ненужные адреса в общие заметки.
7. Назначьте следующую проверку.
Выберите интервал проверки, соответствующий последствиям сбоя. Неудачный отправитель восстановления аккаунта требует иной реакции, чем опоздавший еженедельный дайджест. Определите, кто проверяет последний успешный результат при отсутствии оповещения, и обеспечьте, чтобы сам канал оповещений не был единственным способом обнаружить сломанного отправителя.
Держите карточки задач вместе со своим инвентаризацией сервисов. Добавьте их в учение по восстановлению и процедуру обслуживания. Это руководство описывает способ организации и проверки выбранного вами ПО; оно не предоставляет управляемый планировщик, гарантию доставки сообщений или выполненный результат теста.
Документация к этому примечанию
Используйте документацию для версии, которую вы фактически запускаете. Эти примеры — материал для планирования, а не запись теста на Hoszen VPS.