ПриВыполненииСтандартныхПериодическихПроверокНаСервере (БСП)

Автор: 1С
ОбщийМодуль.ЦентрМониторингаСлужебный
БСП

При выполнении стандартных периодических проверок на сервере.

Процедура ПриВыполненииСтандартныхПериодическихПроверокНаСервере(Параметры) Экспорт
	
	Если Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["РегистрироватьБизнесСтатистику"] Тогда
	
		РегистрироватьБизнесСтатистику = ПолучитьПараметрыЦентраМониторинга("РегистрироватьБизнесСтатистику");
			
		ПараметрыНовые = Новый Соответствие(Параметры);
		ПараметрыНовые.Вставить("РегистрироватьБизнесСтатистику", РегистрироватьБизнесСтатистику);
		
		КлючФоновогоЗадания = "ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне" + Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ХешПользователя"];
		
		Отбор = Новый Структура;
		Отбор.Вставить("Ключ", КлючФоновогоЗадания);
		Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
		АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
		
		Если АктивныеФоновыеЗадания.Количество() = 0 Тогда
			
			ПараметрыФоновогоЗадания = Новый Массив;
			ПараметрыФоновогоЗадания.Добавить(Параметры);
			ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне",
				ПараметрыФоновогоЗадания,
				КлючФоновогоЗадания,
				"ЦентрМониторингаСлужебный.ПриВыполненииСтандартныхПериодическихПроверокНаСервере");
		КонецЕсли;
		
		Параметры = Новый ФиксированноеСоответствие(ПараметрыНовые);
		
	КонецЕсли;
	
	Если Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ВыводитьЗапросПолныхДампов"] Тогда
		
		ПараметрыОповещенияОДампах = ПараметрыОповещенияОДампах();
		
		ЗапросНаПолучениеДампов = ПараметрыОповещенияОДампах.ЗапросНаПолучениеДампов
								И НЕ Параметры.Получить("ЗапросПолныхДамповВыведен") = Истина;
		ЗапросНаПолучениеКонтактов = ПолучитьПараметрыЦентраМониторинга("ЗапросКонтактнойИнформации") = 3
								И НЕ Параметры.Получить("ЗапросНаПолучениеКонтактовВыведен") = Истина;
		
		ПараметрыНовые = Новый Соответствие(Параметры);
		ПараметрыНовые.Вставить("ЗапросНаПолучениеДампов", ЗапросНаПолучениеДампов);
		ПараметрыНовые.Вставить("ЗапросНаОтправкуДампов", ПараметрыОповещенияОДампах.ЗапросНаОтправку);
		ПараметрыНовые.Вставить("ИнформацияОДампах", ПараметрыОповещенияОДампах.ИнформацияОДампах);
		ПараметрыНовые.Вставить("ЗапросНаПолучениеКонтактов", ЗапросНаПолучениеКонтактов);
		Параметры = Новый ФиксированноеСоответствие(ПараметрыНовые);
		
	КонецЕсли;
	
	ПараметрыЦентраМониторинга = Новый Структура("ТестовыйПакетОтправлен,ЦентрОбработкиИнформацииОПрограмме,ВключитьЦентрМониторинга");
	ПараметрыЦентраМониторинга = ПолучитьПараметрыЦентраМониторинга(ПараметрыЦентраМониторинга);
	
	Если НЕ ПараметрыЦентраМониторинга.ТестовыйПакетОтправлен И НЕ РазделениеПоОбластямДанныхВключено() Тогда
		// Тестовый пакет нет смысла отправлять - данные уже отправляются.
		Если ПараметрыЦентраМониторинга.ВключитьЦентрМониторинга ИЛИ ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме Тогда
			УстановитьПривилегированныйРежим(Истина);
			УстановитьПараметрЦентраМониторинга("ТестовыйПакетОтправлен", Истина);
			УстановитьПривилегированныйРежим(Ложь);
		Иначе
			КлючФоновогоЗадания = "ОтправкаТестовогоПакета";
			
			Отбор = Новый Структура;
			Отбор.Вставить("Ключ", КлючФоновогоЗадания);
			Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
			АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
			Если АктивныеФоновыеЗадания.Количество() = 0 Тогда                                                                      
				ПараметрыПроцедуры = Новый Структура("Итератор, ОтправкаТестовогоПакета, ПолучениеИдентификатора", 0, Истина, Ложь);
				МассивПараметров = Новый Массив;
				МассивПараметров.Добавить(ПараметрыПроцедуры);
				МассивПараметров.Добавить(Неопределено);				
				ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.ОтправитьТестовыйПакет",
					МассивПараметров,
					КлючФоновогоЗадания,
					НСтр("ru = 'Центр мониторинга: отправка тестового пакета'"));
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	
	Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
		ПараметрыЦентраМониторинга = Новый Структура("ОтправлятьФайлыДампов,ВариантДампа,ОкончаниеСбораДампов,СборПолныхДамповВключен");
		ПараметрыЦентраМониторинга = ПолучитьПараметрыЦентраМониторинга(ПараметрыЦентраМониторинга);
			
		НачатьСборИОтправкуОтчетовОбОшибках = Не ПараметрыЦентраМониторинга.ОтправлятьФайлыДампов = 0
												И Не ПустаяСтрока(ПараметрыЦентраМониторинга.ВариантДампа)
												И ТекущаяУниверсальнаяДата() < ПараметрыЦентраМониторинга.ОкончаниеСбораДампов;
												
		Если НачатьСборИОтправкуОтчетовОбОшибках Тогда
			Идентификатор = Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ХешПользователя"];
			КлючФоновогоЗадания = "СборИОтправкаОтчетовОбОшибкахНаСервереВФоне" + Идентификатор;
			
			Отбор = Новый Структура;
			Отбор.Вставить("Ключ", КлючФоновогоЗадания);
			Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
			АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
			
			Если АктивныеФоновыеЗадания.Количество() = 0 Тогда
				ПараметрыФоновогоЗадания = Новый Массив;
				ПараметрыФоновогоЗадания.Добавить(Истина);
				ПараметрыФоновогоЗадания.Добавить(Идентификатор);
				ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.СобратьИОтправитьДампы",
					ПараметрыФоновогоЗадания,
					КлючФоновогоЗадания,
					НСтр("ru = 'Сбор и отправка отчетов об ошибках'"));
				КонецЕсли;
		Иначе
			Если ПараметрыЦентраМониторинга.СборПолныхДамповВключен[ИмяКомпьютера()] = Истина Тогда
				ПрекратитьСборПолныхДампов();
			КонецЕсли;
		КонецЕсли;	
	КонецЕсли;
		
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне (БСП)

ПриВыполненииСтандартныхПериодическихПроверокНаКлиенте (БСП)

ПриВыполненииСтандартныхПериодическихПроверок (БСП)

ПриВыполненииСтандартныхПериодическихПроверокЗавершение (БСП)

ПослеВыполненияСтандартныхПериодическихПроверокНаКлиенте (БСП)

ПриВыполненииСтандартныхПериодическихПроверокПодсистемаПользователи (БСП)

ПриВыполненииСтандартныхПериодическихПроверокПодсистемаПользователиЗавершение (БСП)

TurboConf ИР адаптер 2.53