Всем привет. Есть нефиговая внешняя обработка весом в 2 Mb. Запускается (регистрируется во внешних обработках) на сервере в рамках регл. задания. Лежит в расшаренной папке.
Кое-что из того, что она должна делать, силами платформы реализовать не получилось. В специальной папке лежит утилита, не требующая установки. Во время выполнения задания обработка обращается к этой утилите и её силами выполняет необходимые действия.
Если перед обращением к утилите оказывается, что в папочку утилита еще не распакована (или была удалена), она распаковывается туда... Для этого добавляем в обработку макет (двоичные данные) с упакованной утилитой. Из-за чего вес обработки вырастает до 21 Mb.
Так делать комильфо? Макет будет использоваться редко (читай: один раз, наверное). При регистрации обработки (ВнешниеОбработки.Создать()) в оперативку загружается вся обработка, в т. ч. макет?
(0) ну большие обработки медленнее открываются, так что я бы выгрузил все большие ресурсы куда-нибудь на шару в сервак и тащил их оттуда по мере необходимости.
20 метров - критичная величина ?
переписывать на распаковку не из макета, а из какой-то папки - время жалко. Точнее, не переписывать, а проверять потом. Сто пудов ведь что-нибудь всплывет с правами. Эти файловые операции силами платформы - всегда бомба замедленного действия
(2) Не забудь про сценарий обновления версии утилиты.
Вот изменил ты ея, положил в макет. А потом 1С запускает обработку, находит на диске старую распакованную версию и честно ее использует.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший