(2) суть в том, чтоб оставаться на клиенте, т.е. асинхронно выполнить какую то процедуру, для этого и существуют фоновые задания. пример:
ФоновыеЗадания.Выполнить(ИмяПроцедуры, ПараметрыПроцедуры, КлючЗадания);
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший