Основные концепции Ботодрома

Здесь приводятся описания основных концепций, используемых в Ботодроме.

Узел#

Узел — это основной строительный блок потока.

Узлы запускаются либо при получении сообщения от предыдущего узла в потоке, либо при ожидании какого-либо внешнего события, такого как входящий HTTP-запрос, Long Poll обновление или таймер. Они обрабатывают это сообщение или событие, а затем могут отправить сообщение следующим узлам в потоке.

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

Конфигурационный узел#

Конфигурационных узел (конфиг) - это особый тип узла, который хранит общие настройки для использования обычными узлами.

Один и тот же конфигурационный узел может использоваться несколькими обычными узлами одновременно. Например, VK API и VK In узлы используют конфигурационный узел VK API Config для совместного подключения к API ВКонтакте с одним ключом доступа.

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

Поток#

Поток представлен в виде вкладки в рабочей области редактора и является основным способом организации узлов.

Термин «поток» также используется для неформального описания одного набора связанных узлов. Таким образом, поток (вкладка) может содержать несколько потоков (наборов связанных узлов).

Сообщение#

Сообщение - это то, что передается между узлами в потоке. Оно представляет собой обычный JavaScript-объект, который может иметь любой набор свойств. Внутри редактора объект сообщения часто обозначается как msg.

Провод#

Провода соединяют узлы и показывают, как сообщения проходят через поток.

Подпоток#

Подпоток - это набор узлов, которые свернуты в один узел в рабочей области.

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

Контекст#

Контекст - это способ хранения информации, которая может совместно использоваться узлами без использования сообщений, проходящих через поток.

Есть три типа контекста:

  • Узловой - виден только узлу, который установил значение
  • Потоковый - виден всем узлам в одном потоке (вкладке в редакторе)
  • Глобальный - виден всем узлам

Контекстные данные в Ботодроме могут храниться в одном из двух типов хранилищ:

  • Файл ("file") - значения хранятся в файловой системе и автоматически восстанавливаются при перезапуске сервера
  • Память ("memory") - значения хранятся в оперативной памяти и не сохраняются при перезапусках сервера

По умолчанию в Ботодроме используется файловое хранилище.

Палитра#

Палитра находится слева от редактора и содержит список узлов, доступных для использования в потоках.

Рабочая область#

Рабочая область - это основная область, в которой потоки создаются перетаскиванием узлов из палитры и соединением их проводами.

В верхней части рабочей области находятся вкладки потоков и всех открытых подпотоков.

Боковая панель#

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