Перейти к основному содержимому
Версия: 1.7.5

Запуск модуля (module_sdk.app)

AppModule

from module_sdk.app.app import AppModule

AppModule.app_create_and_do_py(custom_py_function)

Главная точка входа SDK. Запускает HTTP-сервер и выполняет пользовательскую функцию.

Параметры:

ПараметрТипОписание
custom_py_functionCallable[[], None]Функция без аргументов, содержащая логику сбора данных

Поведение:

  1. Вызывает setup_logging() -- настройка уровня логирования из env LOG_LEVEL (по умолчанию INFO)

  2. Запускает HTTP-сервер (waitress + connexion) в отдельном потоке на порту config.additional.port

  3. Переводит статус в RUN

  4. Вызывает custom_py_function()

  5. Если в storage есть ассеты -- создает финальный пакет

  6. Если есть неподтвержденные пакеты -> статус ASSETS_READY, иначе -> FINISH

  7. При исключении -> статус ERROR, исключение логируется

Пример:

def my_collector():
# Ваша логика сбора данных
pass

if __name__ == "__main__":
AppModule.app_create_and_do_py(my_collector)

!!! quote

HTTP-сервер продолжает работать после завершения custom_py_function -- Keeper забирает данные через /scan/status и затем отправляет /scan/shutdown.

setup_logging()

from module_sdk.app.app import setup_logging

Настраивает logging.basicConfig с форматом %(asctime)s - %(name)s - %(levelname)s - %(message)s. Уровень берется из LOG_LEVEL env (по умолчанию INFO). Вызывается автоматически из app_create_and_do_py.