Документация Engee

Публичные методы программного управления Genie

Страница в процессе разработки.

Пример создания простого приложения с помощью фреймворка Genie также представлен в Сообществе Engee.

Здесь представлены все публичные методы программного управления genie для работы с фреймворком Genie.

Методы genie

engee.genie.start(app_path::String; devel::Bool=false, log_file::String="")

Запускает приложение Genie по указанному пути.

Перед использованием команды engee.genie.start убедитесь, что если приложение представляет собой директорию, то в ней есть файл с кодом приложения и расширением .jl. Также удалите файлы config и *.toml (если они присутствуют).

Аргументы

  • app_path::String: путь до директории приложения. Может быть относительным или абсолютным.

  • devel::Bool=false: параметр для включения режима разработки, при котором изменения в коде применяются без перезапуска приложения.

  • log_file::String="": параметр для указания пути к файлу логов. Если не задан, то логи не сохраняются отдельно.

Примеры

# Запустить Genie через файл приложения app.jl, без режима разработки и сохранения логов
engee.genie.start("/user/app.jl")

# Запустить Genie через файл приложения app.jl, с режимом разработки и сохранением логов
engee.genie.start("/user/app.jl", devel=true, log_file="/user/logs.txt")
engee.genie.stop(app_path::String)

Останавливает запущенное приложение Genie.

Аргументы

app_path::String: путь до директории приложения. Может быть относительным или абсолютным.

Примеры

# Остановить приложение по абсолютному пути
engee.genie.stop("/user/app.jl")

# Остановить приложение по относительному пути
engee.genie.stop("app.jl")
engee.genie.list()

Выводит список всех запущенных приложений Genie.

Примеры

engee.genie.list()
engee.genie.eval(code::AbstractString)

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

Аргументы

code::AbstractString: строка с кодом на Julia, который будет выполнен в рабочем пространстве Engee.

Примеры

engee.genie.eval("x = 5")
engee.genie.recv(wsVarName::AbstractString; context::Module=GenieAPI )

Возвращает значение переменной из указанного контекста (модуля) в рабочем пространстве Engee во время выполнения приложения Genie.

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

Аргументы

  • wsVarName::AbstractString: имя переменной, значение которой нужно получить.

  • context::Module=GenieAPI: модуль, в котором производится поиск переменной. Указывается явно, если переменная не принадлежит модулю GenieAPI.

Примеры

# Получить значение переменной x из модуля Main
engee.genie.recv("x", Main)

# Получить значение переменной a из модуля по умолчанию
engee.genie.recv("a")

# Получить значение переменной value из пользовательского модуля
engee.genie.recv("value"; context=MyModule)
engee.genie.send(wsVarName::AbstractString, value::Any)

Сохраняет значение value в переменную wsVarName в рабочем пространстве Engee во время выполнения приложения на Genie.

Если переменная с таким именем ранее не существовала, то она будет создана автоматически. Функция удобна для передачи промежуточных результатов или пользовательских данных из приложения Genie в сессию Engee.

Аргументы

  • wsVarName::AbstractString: имя переменной, которой присваивается значение.

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

Примеры

# Присвоить переменной x значение 124
engee.genie.send("x", 124)

# Сохранить строку в переменной message
engee.genie.send("message", "Hello")