мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
автотестирование_остановки_репликации [14.01.2020 06:16] Анисютин ↷ Страница перемещена из internal:автотестирование_остановки_репликации в автотестирование_остановки_репликации |
автотестирование_остановки_репликации [26.02.2020 10:35] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Автотестирование остановки репликации ====== | ||
- | |||
- | Для синхронизации данных между базами данных используется процесс репликации. | ||
- | [[:Репликация]]\\ | ||
- | <ifauth @programmers> | ||
- | [[develop:Реализация системы репликации]]\\ | ||
- | </ifauth> | ||
- | <ifauth @user> | ||
- | [[internal:Анализ статистики репликации в ProjectsControl|Анализ статистики репликации в ProjectsControl и решение проблем]]\\ | ||
- | </ifauth> | ||
- | В базе данных менеджера проектов фиксируются события связанные с выполнением репликаций, в частности, время начала выполнения репликации. | ||
- | Репликация выполняется часто, поэтому большой перерыв в выполнении репликации означает возникновение проблем с выполнением репликации. | ||
- | Своевременное восстановление репликации предотвращает возникновение коллизий данных. | ||
- | |||
- | **Реализация тестирования** | ||
- | |||
- | Пусть задан максимальный интервал паузы между репликациями (по умолчанию 3 часа).\\ | ||
- | Если за это время репликация не выполнилась, то создается задача первой очереди с целью восстановления процесса репликации.\\ | ||
- | Зтаем задачи будут создаваться раз в сутки до тех пор пока репликация не восстановится.\\ | ||
- | |||
- | <ifauth @programmers> | ||
- | |||
- | |||
- | **Настройки** | ||
- | |||
- | 1. В файле настроек AgentSettings.ini для агента обслуживающего "Менеджер проектов" в секции [AutoTest] настройка MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин);\\ | ||
- | 2. В "Менеджере проектов" на форме "Сервисы" \ "Репликации" \ "Отчет по репликации" на вкладке "Отчет" нужно включить настройку "Включить автотестироание (при обнаружении ошибки будет создаваться задача в БИТРИКС)" \\ | ||
- | {{:internal:pasted:20200109-085615.png}}\\ | ||
- | Поле **№ задачи** заполняется автоматически при тестировании.\\ | ||
- | Если репликация работает, поле **№ задачи** пустое.\\ | ||
- | При возникновении ошибки создается задача и ставится цифра 1. Если в течение суток проблема не решена, то создается повторная задача и номер увеличивается на единицу.\\ | ||
- | |||
- | ** Схема выполнения процесса ** | ||
- | |||
- | 1. При выполнении репликации в базе данных менеджера проектов PC.fdb в таблице client_repl_reps заполняются поля: | ||
- | rep_dttm_in, rep_dttm_out - дата и время последнего выполнения ReplIn, ReplOut соответственно, которые отображаются в графах "Время отчета о загрузке" и "Время отчета об отправке" | ||
- | |||
- | 2. Агент обслуживающий "Менеджер проектов" | ||
- | 2.1. при запуске считывает настройку из AgentSettings.ini из секции [AutoTest] MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин); | ||
- | 2.2. один раз в час запускается автотест остановки репликации. | ||
- | 2.2.1. в таблице client_repl_reps выбираются все записи с task_on=1; | ||
- | 2.3.2. проверяется превышение интервала между выполнением репликации и текущим временем превышает максимальный интервал паузы между репликациями {(now-rep_dttm_in)>MaxPeriodRepl или (now-rep_dttm_out)>MaxPeriodRepl, где MaxPeriodRepl равняется MaxPeriodReplMin конвертированному в формат времени}, то создается задача первой очереди и ставится цифра 1 в поле task_num. | ||
- | Если интервал превыше и в текущие сутки задача не создавалась, то \\ | ||
- | создается задача на исправление репликации;\\ | ||
- | в карточке репликации увеличивается на единицу "Номер задачи";\\ | ||
- | в лог в таблице AT_Repl_Log добавляется запись, в которой содержится URL задачи в битрексе;\\ | ||
- | 2.3. Если для активной задачи репликация восстановилась, то "Номер задачи" обнуляется, в логе делается запись о завершении задачи. | ||
- | |||
- | ** Макет задачи ** | ||
- | |||
- | Заголовок: | ||
- | Ошибка запуска репликации: Наименование клиента / Наименование подразделения (ПОВТОРНО) | ||
- | Текст задачи: | ||
- | ReplIn не запускался уже более 2 час. ! | ||
- | ReplOut не запускался уже более 2 час. ! | ||
- | |||
- | Наименование клиента | ||
- | Наименование подразделения (Центр) | ||
- | Дата и время проверки = 25.07.2016 20:05:27 | ||
- | Дата и время последнего выполнения ReplIn = 25.07.2016 20:05:27 | ||
- | Дата и время последнего выполнения ReplOut = 25.07.2016 20:05:27 | ||
- | ID в client_repl_reps = 1294 | ||
- | |||
- | ** Пример задачи ** | ||
- | |||
- | Заголовок: | ||
- | 1. Ошибка запуска репликации: РИКВЕСТ (Проф-Чистка №1) (Серпухов) / Центр | ||
- | Текст задачи: | ||
- | ReplIn не запускался уже более 2442 час. ! | ||
- | | ||
- | РИКВЕСТ (Проф-Чистка №1) (Серпухов) | ||
- | Новый сервер (Центр) | ||
- | Дата и время проверки = 03.12.2019 15:30:04 | ||
- | Дата и время последнего выполнения ReplIn = 23.08.2019 21:03:53 | ||
- | Дата и время последнего выполнения ReplOut = 03.12.2019 15:25:09 | ||
- | ID в client_repl_reps = 1242 | ||
- | № копии задачи = 1 | ||
- | |||
- | |||
- | **Таблицы данных: ** | ||
- | |||
- | [[:sp_db_rep]]\\ | ||
- | [[:client_repl_reps]]\\ | ||
- | [[:at_repl_log]]\\ | ||
- | |||
- | </ifauth> | ||