Пауза() по старинке



В ожидании метода «Пауза()» в новых версиях платформы, мне попалась задача вызвать в коде на сервере паузу между асинхронными вызовами API (сначала отправляем данные, потом получаем данные).



Для этого есть множество вариантов, такие как вызов скриптов операционной системы, вызов сторонних программ или, например, цикл с ожиданием. Но данные варианты либо требуют сторонних компонент, либо могут грузить процессор.



Для себя выделил самым интересным вариант как «ОжидатьЗавершенияВыполнения» для фонового задания.



---------------



Процедура Пауза(Секунд) Экспорт



ТекущийСеансИБ = ПолучитьТекущийСеансИнформационнойБазы();

ФоновоеЗадание = ТекущийСеансИБ.ПолучитьФоновоеЗадание();



Если ФоновоеЗадание = Неопределено Тогда

Параметры = Новый Массив;

Параметры.Добавить(Секунд);

ФоновоеЗадание = ФоновыеЗадания.Выполнить("НашМодуль.Пауза", Параметры);

КонецЕсли;



Попытка

ФоновоеЗадание.ОжидатьЗавершенияВыполнения(Секунд);

Исключение

Возврат;

КонецПопытки;



КонецПроцедуры



---------------



А какой вариант используете вы и почему? Пишите в комментариях 💬



Случайный пост >>>

ТОП 7 возможностей БСП



#ЕБ_Повседневность