Публичные методы программного управления Genie
Страница в процессе разработки. |
Пример создания простого приложения с помощью фреймворка Genie также представлен в Сообществе Engee. |
Здесь представлены все публичные методы программного управления genie
для работы с фреймворком Genie.
Методы genie
#
engee.genie.start
— Function
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
— Function
engee.genie.stop(app_path::String)
Останавливает запущенное приложение Genie.
Аргументы
app_path::String
: путь до директории приложения. Может быть относительным или абсолютным.
Примеры
# Остановить приложение по абсолютному пути
engee.genie.stop("/user/app.jl")
# Остановить приложение по относительному пути
engee.genie.stop("app.jl")
#
engee.genie.list
— Function
engee.genie.list()
Выводит список всех запущенных приложений Genie.
Примеры
engee.genie.list()
#
engee.genie.eval
— Function
engee.genie.eval(code::AbstractString)
Выполняет указанный код в рабочем пространстве Engee вне контекста запущенного приложения Genie. Используется для запуска отдельных выражений, отладки или динамического выполнения кода без необходимости перезапуска приложения.
Аргументы
code::AbstractString
: строка с кодом на Julia, который будет выполнен в рабочем пространстве Engee.
Примеры
engee.genie.eval("x = 5")
#
engee.genie.recv
— Function
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
— Function
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")