мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
автотестирование_остановки_репликации [20.02.2020 06:12]
Анисютин
автотестирование_остановки_репликации [26.02.2020 10:35] (текущий)
Строка 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. В "​Менеджере проектов"​ на форме ​**"​Сервисы"​** **"​Репликация"​** \\ 
-Открывается форма "​Отчет по репликации"​ и на вкладке "​Отчет"​ нужно включить настройку "Включить автотестироание (при обнаружении ошибки будет создаваться задача в БИТРИКС)" \\  +Открывается форма ​**"​Отчет по репликации"​** и на вкладке ​**"​Отчет"​** нужно включить настройку ​**"Проверять работу репликации (при обнаружении ошибки будет создаваться задача в Б24)"** \\  
-{{:pasted:20200114-062820.png}}\\ ​+{{: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 не запускался уже более ​час. ! +  ReplIn не запускался уже более ​час. ! 
-  ReplOut не запускался уже более ​час. ! +  ReplOut не запускался уже более ​час. ! 
 +  
   Наименование клиента ​   Наименование клиента ​
   Наименование подразделения (Центр)   Наименование подразделения (Центр)
Строка 55: Строка 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 
-** Пример задачи ​**+  ​ 
 +==== Пример задачи ​====
  
 Заголовок: ​ Заголовок: ​
Строка 72: Строка 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]]\\ ​