Установка Python Agent¶
Общие замечания:¶
-
Так как данное приложение написано на
python, его установка — копирование файлов с кодом на сервер. Основные трудности могут возникнуть с настройкой окружения — установкой интерпретатораpythonи необходимых модулей -
Обновление можно осуществить простой подменой файлов с исходным кодом. Возможно нужно будет ещё установить недостающие модули. После этого нужно просто перезапустить приложение.
-
Рекомендуется всегда использовать виртуальное окружение — таким образом можно будет легко избежать проблем с версиями
pythonили отдельных модулей, если на том же сервере потребуется запустить что-то ещё -
Все операции (кроме установки) проводятся в
root-папке приложения (там, где находятся папкиsource,configи т.д.)
Установка python¶
Для работы приложения нужен интерпретатор версии строго 3.8. Если в
системе уже установлен python другой версии его удалять не нужно.
Если нужны несколько версий python на одной машине, то
- WINDOWS: В командах создания виртуального окружения используется утилита
py launcher, которая идёт с установщиком python версии выше 3.3
- LINUX: придётся использовать не такую удобную pyenv,
гайд тут
Особенности установки на Windows:¶
- для запуска установки нужны права администратора
- если запуск приложения будет не из-под администратора, то нужно установить
pythonдля всех пользователей и обязательно проверить, что папка назначения доступна всем пользователям - я отключаю ограничение на длину путей, чтобы потом не было проблем (хотя на практике я их и не встречал)
Настройка виртуального окружения¶
Для того чтобы установить модули только для конкретного приложения, создаётся виртуальное окружение. Его нужно производить той версией интерпретатора, которая потом нужна для запуска приложения
Создание виртуального окружения:¶
-
С дефолтной версии интерпретатора
-
Если нужна определённая версия
Загрузка виртуального окружения:¶
Установка необходимых модулей¶
Установка производится из файла requirements.txt
Установка из интернета¶
Простая загрузка под текущую архитектуру пакетов whl¶
Warning
Пытаться загружать пакеты не под текущую архитектуру крайне не рекомендуется (могут быть проблемы с компилируемыми пакетами)
Сохранить все пакеты:¶
Отдельный пакет, уже установленный в окружении (если на предыдущем пункте
был загружен, например tar.gz вместо whl) :
Установка из локальных пакетов whl¶
Локально хранимые файлы пакетов whl под нужную платформу должны быть в
папке dependencies
Установка SDK МойОфис¶
SDK МойОфис распространяется разработчиком ПО МойОфис и должен быть загружен
отдельно. Для установки необходимо использовать команду установки пакета из
.whl файла. Например, для SDK под Windows
Запуск приложения¶
Запуск производится простой командой
Нужно будет ввести мастер-пароль для расшифровки хранимых паролей
Сообщение об успешном запуске выглядит так:

Сетевую доступность можно проверить по адресу
Там будет вывод о статусе агента:
{
"jobsSinceStart": 0,
"foldersOnDisk": 0,
"runningSubprocesses": 0,
"activeJobs": 0,
"maxParallelJobs": 10
}
Автозапуск¶
Windows¶
Как таковой системы авто запуска нет, достаточно создать bat-файл с командами
активации виртуального окружения и запуска брокера и положить его/его ярлык в
автозагрузку. Такой автозапуск будет работать только при входе пользователя
в систему (логине). После запуска приложение будет работать до окончания работы
сессии пользователя.
Чтобы брокер запускался вместо с загрузкой системы вне зависимости от логина,
нужно обернуть его в службу ОС. Для этого можно использовать стороннюю утилиту
nssm (настройка крайне проста, не забудьте включить сохранение вывода консоли
в файл). Не тестировалось.
Linux¶
Пока не настроена и не тестирована работа через systemd. Предложений по авто
запуску вместе с системой нет. Для того, чтобы приложение продолжило работать
после окончания терминальной сессии, можно использовать команду nohup:
Дополнительно¶
Не рекомендуется напрямую давать доступ к агенту через сеть, желательно
использовать реверс-прокси, например nginx