мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
автотестирование_остановки_репликации [14.01.2020 06:28] Анисютин |
автотестирование_остановки_репликации [26.02.2020 10:32] Анисютин |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
Для синхронизации данных между базами данных используется процесс [[:Репликация|репликации]]\\ | Для синхронизации данных между базами данных используется процесс [[:Репликация|репликации]]\\ | ||
В базе данных менеджера проектов фиксируются события связанные с выполнением репликаций, в частности, время начала выполнения репликации.\\ | В базе данных менеджера проектов фиксируются события связанные с выполнением репликаций, в частности, время начала выполнения репликации.\\ | ||
- | [[internal:анализ_статистики_репликации_в_projectscontrol|Анализ статистики репликации в ProjectsControl и решение проблем]]\\ | ||
Репликация выполняется часто, поэтому большой перерыв в выполнении репликации означает возникновение проблем с выполнением репликации.\\ | Репликация выполняется часто, поэтому большой перерыв в выполнении репликации означает возникновение проблем с выполнением репликации.\\ | ||
Своевременное восстановление репликации предотвращает возникновение коллизий данных. | Своевременное восстановление репликации предотвращает возникновение коллизий данных. | ||
- | **Реализация тестирования** | + | ===== Реализация тестирования ===== |
Пусть задан максимальный интервал паузы между репликациями (по умолчанию 3 часа).\\ | Пусть задан максимальный интервал паузы между репликациями (по умолчанию 3 часа).\\ | ||
Строка 13: | Строка 12: | ||
Затем задачи будут создаваться раз в сутки до тех пор пока репликация не восстановится.\\ | Затем задачи будут создаваться раз в сутки до тех пор пока репликация не восстановится.\\ | ||
- | <ifauth @programmers> | + | ===== Настройки ===== |
- | + | ||
- | **Настройки** | + | |
1. В файле настроек AgentSettings.ini для агента обслуживающего "Менеджер проектов" в секции [AutoTest] настройка MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин);\\ | 1. В файле настроек AgentSettings.ini для агента обслуживающего "Менеджер проектов" в секции [AutoTest] настройка MaxPeriodReplMin, которая содержит максимальнодопустимый интервал паузы между репликациями в минутах (по умолчанию 180 мин);\\ | ||
- | 2. В "Менеджере проектов" на форме "Сервисы" \ "Репликации" \ "Отчет по репликации" на вкладке "Отчет" нужно включить настройку "Включить автотестироание (при обнаружении ошибки будет создаваться задача в БИТРИКС)" \\ | + | 2. В "Менеджере проектов" на форме **"Сервисы"** \ **"Репликация"** \\ |
- | {{:pasted:20200114-062820.png}}\\ | + | Открывается форма **"Отчет по репликации"** и на вкладке **"Отчет"** нужно включить настройку **"Проверять работу репликации (при обнаружении ошибки будет создаваться задача в Б24)"** \\ |
+ | {{:pasted:20200226-100317.png}}\\ | ||
Поле **№ задачи** заполняется автоматически при тестировании.\\ | Поле **№ задачи** заполняется автоматически при тестировании.\\ | ||
Если репликация работает, поле **№ задачи** пустое.\\ | Если репликация работает, поле **№ задачи** пустое.\\ | ||
При возникновении ошибки создается задача и ставится цифра 1. Если в течение суток проблема не решена, то создается повторная задача и номер увеличивается на единицу.\\ | При возникновении ошибки создается задача и ставится цифра 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 час. ! | + | ReplIn не запускался уже более 3 час. ! |
- | ReplOut не запускался уже более 2 час. ! | + | ReplOut не запускался уже более 3 час. ! |
Наименование клиента | Наименование клиента | ||
Строка 54: | Строка 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 | ||
- | + | | |
- | ** Пример задачи ** | + | ==== Пример задачи ==== |
Заголовок: | Заголовок: | ||
Строка 71: | Строка 53: | ||
- | **Таблицы данных: ** | + | |
+ | <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]]\\ |