Cluster · разработчикам

app.modules

Вызовы объявленных функций и сигналов зависимостей. Полный доступ вызывающего не передаётся автоматически.

Все методы SDK · Типы и ошибки

Получение объекта

target = app.modules("dependency-id", "main")

__init__

Создаёт Modules. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(app: App) -> None: ...

Аргументы

Результат

None. Создаёт Modules. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

# Обычный способ получения объекта:
target = app.modules("dependency-id", "main")

__call__

Выбирает модуль и необязательный профиль экземпляра для последующих вызовов.

def __call__(module: str | None, slot: str | None = None) -> Module: ...

Аргументы

Результат

Module. Выбирает модуль и необязательный профиль экземпляра для последующих вызовов.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = app.modules("dependency-id")

start

Запускает функцию зависимости и возвращает объект вызова без ожидания результата.

async def start(module: str | None, function: str, values: dict[str, JSON] | None = None, slot: str | None = None) -> Call: ...

Аргументы

Результат

Call. Запускает функцию зависимости и возвращает объект вызова без ожидания результата.

Права

Нужны modules.call.

Ошибки

Пример

result = await app.modules.start("dependency-id", "status")

emit

Передаёт сигнал зависимости с JSON-аргументами.

async def emit(module: str | None, signal: str, values: dict[str, JSON] | None = None, slot: str | None = None) -> JSON: ...

Аргументы

Результат

JSON. Передаёт сигнал зависимости с JSON-аргументами.

Права

Нужны modules.call.

Ошибки

Пример

result = await app.modules.emit("dependency-id", "status")

call

Запускает функцию зависимости и ожидает результат до timeout. TimeoutError не означает, что удалённое действие отменено. Ядро возвращает готовый результат по сигналу завершения, без обязательной паузы между проверками.

async def call(module: str | None, function: str, values: dict[str, JSON] | None = None, slot: str | None = None, timeout: float = 30) -> JSON: ...

Аргументы

Результат

JSON. Запускает функцию зависимости и ожидает результат до timeout. TimeoutError не означает, что удалённое действие отменено.

Права

Нужны modules.call.

Ошибки

Пример

result = await app.modules.call("dependency-id", "status")