мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
автотестирование_остановки_репликации [03.12.2019 11:44] Анисютин |
автотестирование_остановки_репликации [26.02.2020 10:35] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Автотестирование остановки репликации ====== | ====== Автотестирование остановки репликации ====== | ||
| - | Для синхронизации данных между базами данных используется процесс репликации. | + | Для синхронизации данных между базами данных используется процесс [[:Репликация|репликации]]\\ |
| - | [[:Репликация]]\\ | + | В базе данных менеджера проектов фиксируются события связанные с выполнением репликаций, в частности, время начала выполнения репликации.\\ |
| - | <ifauth @programmers> | + | Репликация выполняется часто, поэтому большой перерыв в выполнении репликации означает возникновение проблем с выполнением репликации.\\ |
| - | [[develop:Реализация системы репликации]]\\ | + | |
| - | </ifauth> | + | |
| - | <ifauth @user> | + | |
| - | [[internal:Анализ статистики репликации в ProjectsControl|Анализ статистики репликации в ProjectsControl и решение проблем]]\\ | + | |
| - | </ifauth> | + | |
| - | В базе данных менеджера проектов фиксируются события связанные с выполнением репликаций, в частности, время начала выполнения репликации. | + | |
| - | Репликация выполняется часто, поэтому большой перерыв в выполнении репликации означает возникновение проблем с выполнением репликации. | + | |
| Своевременное восстановление репликации предотвращает возникновение коллизий данных. | Своевременное восстановление репликации предотвращает возникновение коллизий данных. | ||
| - | **Реализация тестирования** | + | ===== Реализация тестирования ===== |
| Пусть задан максимальный интервал паузы между репликациями (по умолчанию 3 часа).\\ | Пусть задан максимальный интервал паузы между репликациями (по умолчанию 3 часа).\\ | ||
| Если за это время репликация не выполнилась, то создается задача первой очереди с целью восстановления процесса репликации.\\ | Если за это время репликация не выполнилась, то создается задача первой очереди с целью восстановления процесса репликации.\\ | ||
| - | Зтаем задачи будут создаваться раз в сутки до тех пор пока репликация не восстановится.\\ | + | Затем задачи будут создаваться раз в сутки до тех пор пока репликация не восстановится.\\ |
| - | <ifauth @programmers> | + | ===== Настройки ===== |
| + | 1. В файле настроек AgentSettings.ini для агента обслуживающего "Менеджер проектов" в секции [AutoTest] настройка MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин);\\ | ||
| + | 2. В "Менеджере проектов" на форме **"Сервисы"** \ **"Репликация"** \\ | ||
| + | Открывается форма **"Отчет по репликации"** и на вкладке **"Отчет"** нужно включить настройку **"Проверять работу репликации (при обнаружении ошибки будет создаваться задача в Б24)"** \\ | ||
| + | {{:pasted:20200226-100317.png}}\\ | ||
| + | Поле **№ задачи** заполняется автоматически при тестировании.\\ | ||
| + | Если репликация работает, поле **№ задачи** пустое.\\ | ||
| + | При возникновении ошибки создается задача и ставится цифра 1. Если в течение суток проблема не решена, то создается повторная задача и номер увеличивается на единицу.\\ | ||
| - | **Настройки** | + | ===== Макет задачи ===== |
| - | + | ||
| - | 1. В файле настроек AgentSettings.ini для агента обслуживающего "Менеджер проектов" в секции [AutoTest] настройка MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин); | + | |
| - | 2. В "Менеджере проектов" на форме "Сервисы" \ "Репликации" \ "Отчет по репликации" на вкладке "Отчет" нужно включить настройку "Включить автотестироание (при обнаружении ошибки будет создаваться задача в БИТРИКС)" | + | |
| - | + | ||
| - | ** Схема выполнения процесса ** | + | |
| - | + | ||
| - | 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 час. ! | + | ReplIn не запускался уже более 3 час. ! |
| - | ReplOut не запускался уже более 2 час. ! | + | ReplOut не запускался уже более 3 час. ! |
| + | |||
| Наименование клиента | Наименование клиента | ||
| Наименование подразделения (Центр) | Наименование подразделения (Центр) | ||
| Строка 57: | Строка 36: | ||
| Дата и время последнего выполнения ReplOut = 25.07.2016 20:05:27 | Дата и время последнего выполнения ReplOut = 25.07.2016 20:05:27 | ||
| ID в client_repl_reps = 1294 | ID в client_repl_reps = 1294 | ||
| - | + | № копии задачи = 1 | |
| - | ** Пример задачи ** | + | |
| + | ==== Пример задачи ==== | ||
| Заголовок: | Заголовок: | ||
| Строка 74: | Строка 54: | ||
| - | **Таблицы данных: ** | + | |
| + | <ifauth @programmers> | ||
| + | |||
| + | ===== Схема выполнения процесса ===== | ||
| + | |||
| + | 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. Если для активной задачи репликация восстановилась, то "Номер задачи" обнуляется, в логе делается запись о завершении задачи. | ||
| + | |||
| + | ===== Таблицы данных ===== | ||
| [[:sp_db_rep]]\\ | [[:sp_db_rep]]\\ | ||