Оператор "Блокнот проекта" предназначен для запуска ячеек блокнотов Exebook (энтри "Блокнот проекта") в рамках Процесса (Workflow). Он позволяет гибко управлять выполнением кода в блокноте, передавать в него входные данные, извлекать результаты выполнения и интегрировать их в общий поток данных.
Оператор "Блокнот проекта" позволяет:
- Выполнять ячейки блокнота Exebook в определенном порядке.
- Передавать переменные из рабочего процесса в окружение выполнения Python-кода.
- Сохранять значения переменных из окружения Python в выходные порты.
- Выполнять код в двух режимах:
- Выбранные элементы: Запускаются явно указанные кодовые ячейки в заданном порядке.
- Диапазон элементов: Запускаются все кодовые ячейки, находящиеся в заданном диапазоне.
- Поддерживать асинхронный код, оборачивая ячейки в соответствующий обработчик.
- Инициализировать блок/диапазон блоков, устанавливая переменные перед запуском.
- Разворачивать массивы значений в ячейках на несколько строк выходного датасета.
- Задавать режим привязки блока к runtime контексту.
Оператор имеет следующие группы настроек:
1. Аргументы
- args (Порт ввода данных): Порт для передачи входных данных оператору. Эти данные можно использовать для инициализации переменных в Python-окружении.
2. Привязка контекста
- Привязка контекста: Задаёт режим привязки блока к рантайм контексту.
- Блокнот: Используется ядро и рантайм блокнота, эквивалентро запуску ячеек непосредственно в блокноте.
3. Основное
- Блокнот проекта: Поле для выбора блокнота (Exebook), с которым будет работать оператор. Блокнот выбирается путем перетаскивания его в это поле.
- Режим запуска: Определяет способ запуска ячеек. Доступны два варианта:
- Выбранные элементы:
- out (Порт вывода данных): Порт для вывода результатов выполнения ячеек.
- Элементы блокнота: Список ячеек для выполнения. Для каждой ячейки можно задать следующие параметры:
- Ячейка: Выбор ячейки из блокнота для выполнения.
- Асинхронный код: Включает ожидание завершения асинхронного кода ячейки. Позволяет избежать преждевременного завершения ячейки. Например, когда исполняемый ячейкой код содержит
await
или вызовы async
инструкций. При включении опции код ячейки оборачивается обработчиком, а объявленные глобальные переменные копируются при завершении.
- Установить переменные: Список пар "имя переменной" - "значение" для инициализации переменных в Python-окружении перед запуском ячейки.
- Значение: Значение переменной. Можно использовать как значения из входного порта
args
, так и константные значения.
- Установить имя переменной: Имя переменной в Python-окружении.
- Скрипт инициализации блока: Позволяет вставить код на Python, который будет исполнен перед блоком.
- Сохранить результаты: Список пар "имя переменной в Python" - "имя столбца в выходном датасете" для извлечения значений из Python-окружения после выполнения ячейки.
- Считать переменную: Имя переменной в Python-окружении.
- Записать в столбец: Имя столбца в выходном датасете, куда будет записано значение переменной.
- Развернуть массив: Если значение является массивом, и опция включена, будет сформировано несколько строк для каждого значения массива.
- Диапазон элементов:
- out (Порт вывода данных): Порт для вывода результатов выполнения ячеек.
- Начало диапазона: Определение начала диапазона ячеек.
- Самый первый: Запуск с самой первой кодовой ячейки.
- Выбрать из списка: Запуск с выбранной ячейки.
- Начальная ячейка: Выбор ячейки, с которой начинается диапазон.
- Конец диапазона: Определение конца диапазона ячеек.
- Самый последний: Запуск до самой последней кодовой ячейки.
- Выбрать из списка: Запуск до выбранной ячейки.
- Конечная ячейка: Выбор ячейки, которой заканчивается диапазон.
- Асинхронный код: Включает ожидание завершения асинхронного кода ячейки для всего диапазона.
- Установить переменные: Позволяет инициализировать переменные для начала диапазона.
- Значение: Значение переменной.
- Задать имя переменной: Имя переменной.
- Скрипт инициализации блоков: Позволяет вставить код на Python, который будет исполнен перед запуском диапазона блоков.
- Сохранить результаты: Позволяет сохранять переменные из Python-окружения в выходные данные для конца диапазона.
- Считать переменную: Имя переменной.
- Записать в столбец: Имя столбца.
- Развернуть массив: Если значение является массивом, и опция включена, будет сформировано несколько строк для каждого значения массива.
- Оператор получает на вход блокнот проекта.
- При необходимости, читает входные данные с порта
args
.
- В зависимости от выбранного режима (
Выбранные элементы
или Диапазон элементов
), определяет последовательность выполнения ячеек.
- Для каждой ячейки:
- Инициализирует переменные в Python-окружении, если они заданы в настройках.
- Выполняет код ячейки.
- Извлекает значения переменных из Python-окружения и записывает их в выходной порт, если это настроено.
- По завершении выполнения всех ячеек, формирует выходной датасет с извлеченными данными.
- Для случаев, когда результат ячейки или диапазона содержит массив, можно включить опцию "Развернуть массив", для записи всех значений в отдельные строки выходного датасета.
- Создать блокнот Exebook с несколькими кодовыми ячейками.
- Добавить оператор "Блокнот проекта" в процесс.
- Перетащить созданный блокнот в поле "Блокнот проекта".
- Выбрать режим запуска "Выбранные элементы" или "Диапазон элементов".
- Указать ячейки для выполнения или задать диапазон ячеек.
- При необходимости, настроить инициализацию переменных и сохранение результатов.
- Запустить процесс.
- Данные, сохранённые в выходном порту, можно использовать в дальнейшем.