Оригинал:
Кажется, это должно работать для меня. В зависимости от ваших побочных эффектов, вы можете использовать send-off (для операций, связанных с IO), а не send (для операций, связанных с процессором). Отправка / отправка поставит задачу в один из пулов исполнителей внутреннего агента (есть пул фиксированного размера для процессора и пул неограниченного размера для операций ввода-вывода). Как только задача поставлена в очередь, работа выходит из потока dosync, поэтому в этот момент вы отключаетесь.
Вам, конечно, нужно будет захватить любые значения из транзакции в отправленной функции. И вам нужно иметь дело с этой отправкой, которая может происходить несколько раз из-за повторных попыток.
Обновление (см. Комментарии):
Посылки агента в транзакции ref удерживаются до тех пор, пока транзакция ref успешно не завершится и не будут выполнены один раз. Таким образом, в моем ответе выше отправка НЕ будет происходить несколько раз, однако она не произойдет во время транзакции ref, которая может не соответствовать вашим ожиданиям (если вы планируете войти или выполнить побочные действия).