Имя: Пароль:
1C
1С v8
подстраховаться от исключений при запуске фоновых заданий
0 PiotrLoginov
 
22.04.16
16:52
Здрасте всем. Много ресурсов уходит на выполнение кода внутри попытки? Замеры не делал, подозреваю, что в разных условиях результат будет разным. Хотелось бы сделать какие-то выводы, получив мнения форумчан.

Код:

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

Известно, что если менеджер заданий не активен, то произойдет исключение. Есть и другие причины для возникновения исключений, но сейчас интересует именно эта. Понять из свойства "ФоновыеЗадания" глобального контекста, активен ли менеджер, просто невозможно.

Цель: максимально снизить временнЫе затраты при работе с асинхронными вызовами.
1 PiotrLoginov
 
22.04.16
17:09
Так. Почитал в системе стандартов на ИТС про "Перехват исключений в коде". О производительности ни слова (

Только не говорите, что выполнение внутри попытки не ресурсозатратнее, чем выполнение в обычном режиме. Зачем тогда все проверки корректности переменных и т.п.? выполнять все внутри попыток - и вся недолга...

Кстати, встречал творения, в которых этих попыток было... хоть пруд пруди.
2 PiotrLoginov
 
22.04.16
17:39
Еще пособирал инфу.
1. И верно, БСП теперь уже напичкана попытками.

2. Использование попыток в некоторых случаях может дать ощутимые тормоза. Кроме того, частое "Использование исключений для контроля хода выполнения программы маскирует намерения программиста, поэтому это считается плохой практикой" (https://habrahabr.ru/post/263685/).

3 (имхо) В случае с менеджером фоновых заданий, как и в других столкновениях с чем-то, представляющим из себя некий черный ящик, запуск фонового задания внутри попытки, похоже - оправданное решение.

Но вот странно, в БСП, где попыток несколько тысяч, запуск фонового задания всегда выполняется "напрямую".
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший