ОбработкаОчередиЗаданий (БСП)

Автор: 1С
ОбщийМодуль.ОчередьЗаданийБТС
БСП

Обработка очереди заданий. Регламентное задание ОбработкаОчередиЗаданийБТС.

// Регламентное задание ОбработкаОчередиЗаданийБТС.
//
// Параметры:
//   ПараметрыЗадания - СправочникСсылка.ДополнительныеОбработчикиОчередиЗаданий.
//
Процедура ОбработкаОчередиЗаданий(ПараметрыЗадания) Экспорт
	
	ДатаЗавершения = ТекущаяУниверсальнаяДата() + ПараметрыЗадания.ДлительностьЗадания;
	
	Если ПараметрыЗадания.КоличествоЗаданий = 1 Тогда
		ТекстЗапроса = ТекстЗапросаЗаданияВОчереди();
		ОбработатьОчередьЗаданий(ПараметрыЗадания, ДатаЗавершения, ТекстЗапроса);
	Иначе
		ТекстЗапроса = ТекстЗапросаКоличествоЗаданийВОчереди();
		ЗапуститьФоновыеЗадания(ПараметрыЗадания, ТекстЗапроса);
	КонецЕсли;
	
	ЭтоЗадание = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
	Если ЭтоЗадание = Неопределено Или ПараметрыЗадания.ДлительностьЗадания = 0 Тогда
		Возврат;
	КонецЕсли;
	
	Если ЭтоЗадание.РегламентноеЗадание = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ПериодОжидания = ЭтоЗадание.РегламентноеЗадание.Расписание.ПериодПовтораВТечениеДня;
	Если ПериодОжидания = 0 Или ПериодОжидания > 20 Тогда
		Возврат;
	КонецЕсли;
	
	Пока ДатаЗавершения > ТекущаяУниверсальнаяДата() Цикл
		
		Попытка
			ЭтоЗадание.ОжидатьЗавершения(ПериодОжидания);
		Исключение
			// Специальная обработка не требуется, возможно исключение вызвано истечением времени ожидания.
		КонецПопытки;
		
		Если ПараметрыЗадания.КоличествоЗаданий = 1 Тогда
			ОбработатьОчередьЗаданий(ПараметрыЗадания, ДатаЗавершения, ТекстЗапроса);
		Иначе
			ЗапуститьФоновыеЗадания(ПараметрыЗадания, ТекстЗапроса);
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

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

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

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

ШаблоныЗаданийОчереди (БСП)

ОбработатьОчередьЗаданий (БСП)

ПараметрыЗаданийОчереди (БСП)

УдалитьЗадание (БСП)

ОбновитьЗаданияОчередиПоШаблонам (БСП)

ПодготовитьДанные (БСП)

ВыполнитьКоманду (БСП)

ОбработатьДанные (БСП)

Синтакс-помощник БСП