---
title: "\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u2014 Dinext"
description: "\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u0441\u0431\u043e\u044f\u0445 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432."
space: "Docs"
url: "https://docs.dinext.ru/docs/servisy-platformy/otkazoustoychivost"
updated: "2026-07-09"
---

# Отказоустойчивость

## Назначение

Сервис описывает обеспечение устойчивой работы системы при сбоях и недоступности отдельных компонентов. Включает механизмы платформы Dinext (очереди, фоновые задачи, планировщик), администрирование bench и сайтов , а также рекомендации по развертыванию и мониторингу.

## Цели и задачи

- Обеспечивать продолжение работы при сбое одного воркера или временной недоступности внешнего сервиса.
- Использовать очереди заданий и воркеры для асинхронной обработки и распределения нагрузки.
- Планировать резервное копирование и восстановление сайта и данных.
- Администрировать несколько сайтов и процессы bench через Dinext при установке.
- Снижать риск потери данных и длительного простоя за счет архитектуры и процедур.

## Для кого

- Администраторы серверов и Dinext.
- Разработчики при проектировании фоновых задач и интеграций.
- Руководители ИТ при планировании SLA и восстановления.

## Основные понятия

- **Очередь заданий** — буфер задач (short, default, long); при падении воркера задания остаются в очереди и обрабатываются после перезапуска воркера.
- **Воркер** — процесс bench worker; рекомендуется несколько воркеров или мониторинг и автоперезапуск (systemd/supervisor).
- **Планировщик (scheduler)** — отдельный процесс для периодических задач; при падении пропущенные запуски не восстанавливаются автоматически — важна мониторинг и перезапуск.
- **Dinext** — приложение для администрирования bench, сайтов, бэкапов (README).
- Резервное копирование — регулярные бэкапы базы и файлов (sites, private/files) по регламенту.

## Основные сущности / объекты

- **background_jobs.py**, **scheduler.py** .
- **Dinext** (README).
- Конфигурация: common_site_config.json, количество воркеров, мониторинг процессов.

## Основные сценарии / процессов

### Обеспечение устойчивости воркеров и планировщика

1. Запускать воркеры под управлением systemd или supervisor с автоперезапуском при падении.
2. Запускать планировщик (bench schedule или аналог) отдельно; мониторить его работу и перезапускать при сбое.
3. Использовать несколько воркеров для очередей short и default для распределения нагрузки и снижения последствий падения одного процесса.
4. Логи воркеров и планировщика писать в файлы или централизованное логирование для оперативного анализа сбоев.

### Резервное копирование и восстановление

1. Настроить регулярные бэкапы: база данных (mysqldump или встроенная команда bench backup) и каталоги сайта (sites/*/private, public).
2. Хранить бэкапы вне сервера приложения и тестировать восстановление по регламенту.
3. При использовании Dinext использовать встроенные возможности бэкапов по документации приложения.
4. Документировать процедуру восстановления и сроки RTO/RPO по политике компании.

### Администрирование через Dinext

1. Установить Dinext при необходимости; использовать для просмотра списка сайтов, перезапуска сервисов, создания бэкапов (в соответствии с возможностями приложения).
2. Ограничить доступ к Dinext только администраторам; не раскрывать интерфейс публично.
3. Сочетать с ручными командами bench при необходимости (миграции, обновления приложений).

## Правила и ограничения

- Отказоустойчивость на уровне приложения (очереди, воркеры) не заменяет отказоустойчивость БД и инфраструктуры (репликация, кластеризация). Для высоких требований к доступности планируйте отказоустойчивость СУБД и веб-сервера отдельно.
- Задания в очереди при перезапуске Redis (если используется) могут теряться в зависимости от конфигурации Redis; учитывайте при выборе брокера очередей.
- Регулярно проверяйте работоспособность воркеров и планировщика (health check, мониторинг).

## Результаты / отчетность

- Стабильная работа фоновых заданий и планировщика при перезапусках процессов.
- Регулярные бэкапы и успешные тесты восстановления.
- Журналы и алерты мониторинга для оперативного реагирования на сбои.

## Типовые вопросы и ошибки (FAQ)

### Задания накапливаются в очереди и не обрабатываются

Проверьте, что воркеры запущены для соответствующих очередей (`bench worker --queue default` и т.д.). Проверьте логи воркеров на ошибки (падение при выполнении одного и того же задания). При необходимости увеличьте количество воркеров или оптимизируйте время выполнения заданий.

### Где хранятся бэкапы bench backup?

По умолчанию в каталоге sites/ARCHIVES или в пути, указанном в конфигурации bench. Проверьте команду `bench backup` в документации вашей версии и настройте перенос архивов на внешнее хранилище.

### Как перезапустить все сервисы bench?

Обычно: `bench restart` (перезапуск веб-сервера и воркеров, если настроены через bench). Воркеры и планировщик, запущенные через systemd, перезапускаются командами systemctl. При использовании Dinext — через интерфейс приложения по документации.

## Связанные темы

- [Фоновые задания](/docs/servisy-platformy/fonovye-zadaniya)
- [Мониторинг](/docs/servisy-platformy/monitoring)
- [Высокие нагрузки](/docs/servisy-platformy/vysokie-nagruzki)
- [Логи и журналы](/docs/servisy-platformy/logi-i-zhurnaly)
