Есть ли возможность остановки блоков по ходу работы сценария?

+2 голосов
Khalileev в категории Как сделать...
Добрый день!

Я не знал как сформулировать свой вопрос кратко более грамотно. Он заключается в следующем  в моем сценарии есть 5 последовательно выгружающихся блоков при этом несвязанных между собой связями, кроме последовательности. Каждый блок нагружает оперативную память, есть ли возможность, чтобы после выгрузки блока он сразу обнулялся и не нагружал оперативную память?

Версия loginom personal

Ответы: 3 шт.

0 голосов
AlexeyS
Поддерживаю вопрос.

Действительно, иногда требуется управляемая сценарием деактивация узлов (либо для освобождения памяти, либо для форсирования пересчета в связи с косвенным изменениям параметров). Возможно, неплохим решением мог бы быть узел деактивации наподобие узла-ссылки.
AlexeyS
Уточняю, вопрос касается именно возможности деактивации узла средствами сценария для 1) форсирования пересчета при повторном использовании данных выходного порта (при косвенном изменении параметров пересчета, например изменяется входной файл узла импорта и для обновления данных его надо деактивировать) 2) освобождения ресурсов

Узел ссылка упоминался исключительно в качестве аналогии, т.е. было бы неплохо, чтобы деактивировать другой узел можно было бы с помощью служебного узла, наподобие узлов управления: ссылка, выполнение узла ...

Как узел "Выполнения программы" поможет деактивировать какой-либо другой узел сценария - непонятно
Барковская Маргарита
В моменте узел "Выполнение программы" не деактивирует другой узел сценария. Здесь необходимо заведомо продумывать структуру решения и делать управляющий сценарий, из которого через "Выполнение программы" вызывать нужные подмодели, находящиеся в другом сценарии. Таким образом, они отработают, отдадут результат и деактивируются.

К сожалению, более удобных вариантов пока нет.
0 голосов
Барковская Маргарита
В версии Loginom Personal есть только интерактивный режим, и пользователь сам управляет активацией и деактивацией необходимых ему узлов.

В Loginom Server для этого можно использовать узел Выполнение программы - http://help.loginom.ru/userguide/processors/integration/exec-program.html

Узел-ссылка не деактивирует сценарий и не отдает данные.
+2 голосов
alexey.arustamov
Не уверен, что так в принципе надо делать, с учетом архитектуры Loginom.

Дело в том, что он почти всё считает лениво, т.е. за редким исключением в узлах данные не хранятся. Они вытягиваются последующими узлами из предыдущих. Поэтому память не расходуется, точнее расходуется очень экономно.

Попробуйте загрузить большой набор данных, потом, используя Калькулятор, написать любую формулу и активировать узел. Он сразу станет зеленым, мол всё обсчитано. На самом деле это не так. Если узел активировался, то это означает, что он готов все рассчитать. На самом деле данные начнут вытягиваться тогда, когда кто-то их потребует. Например, это может быть визуализация или экспорт.

Для экономии памяти скорее стоит использовать поменьше визуализаторов. Вот они при активации могут подтянуть данные и расходовать память.

Вот тут https://help.loginom.ru/userguide/scenario/caching.html можно почитать про это.
...