Каталог решений - К вопросу о зависающих фоновых заданиях в 8.1

К вопросу о зависающих фоновых заданиях в 8.1

К вопросу о зависающих фоновых заданиях в 8.1

В наличии

Фоновые задания в клиент-серверном варианте иногда зависают так, что снять их можно только путем перезапуска службы. Насколько я понял, никто не знает, что с этим делать. И я не знаю. Но могу поделиться опытом, как научиться с этим жить 🙂

Категория:

Описание

Входные условия :

Есть в клиент-серверной базе предопределенное регламентное задание с методом МойОбщийМодуль.МояПроцедура1, которое раз в N минут должно что-то делать в базе. Периодически по непонятным причинам фоновое задание, порождаемое регламентным, зависает. Как уже сказано выше, снять его проблематично. Но что еще хуже, новое фоновое задание стартовать не хочет. А зачем? Одно ведь уже выполняется!

Таким образом, очень важные процедуры просто прекращают выполняться.

Как я с этим боролся:

1) Регламентное задание убираем из конфигурации

2) Вводим пользователя специально для выполнения этой процедуры.

3) В Процедуре ПриНачалеРаботыСистемы пишем примерно так:

	 Если ИмяПользователя()="ЭтоСамоеИмя" Тогда
    МойОбщийМодуль.МояПроцедура2();
    ПрекратитьРаботуСистемы();
КонецЕсли;

4) В общем модуле МойОбщийМодуль

	 Процедура МояПроцедура2() Экспорт
    МоеФЗ=ФоновыеЗадания.Выполнить("МойОбщийМодуль.МояПроцедура1",,Строка(ТекущаяДата()));
КонецПроцедуры

5) В Планировщике Windows делаем задание на запуск базы с этим пользователем с нужным расписанием.

Что мы этим достигаем? Того же, что и в первом случае, за исключением того, что каждое фоновое задание запускается с уникальным ключом (см. третий параметр в методе выполнить). Поэтому зависшее фоновое задание не мешает стартовать следующим.

И контрольный выстрел : чтобы почистить зависшие фоновые задания раз в сутки ночью выполняем с помощью планировщика задание на

	 net stop...  net start...

Решение громоздкое, некрасивое и не нравится мне. Прошу сильно не пинать. Это больше приглашение к дискуссии. Буду рад, если кто-то предложит лучше.

has been added to your cart:
Оформление заказа