Перейти к содержанию

Параметры Python Agent

Общие замечания

Настройки хранятся в виде файла формата yaml: server.yaml.

Настройки сервера server.yaml

блок main

сетевые настройки сервера и его самоназвание

# main
server_name: 'DOCTEST' # это самоназвание сервера, пока нигде не используется
host: 0.0.0.0 # адрес, который слушает сервер, 0.0.0.0 — все доступные, альтернативно можно поставить 127.0.0.1, другие нежелательно — при тестах не заработало
port: 3001 # порт, который будет прослушиваться
max_request_size: 104857600 # максимальный размер входящего запроса в байтах

блок ssl

настройки контекста защищенных соединений, если защищенное соединение не нужно, удалите эти настройки или поставьте в начале каждой строки #

# ssl

cert: config/certs/server.crt # путь к сертификату в формате .crt относительно папки приложения
key: config/certs/server.key # путь к секретному ключу в формате .key относительно папки приложения

блок настроек исполнения скриптов

operation_dir: myoffice_operations # название папки в директории приложения, в которой будут создаваться папки приходящих задач
default_exec_timeout: 150 # таймаут по умолчанию выполнения скрипта-задачи в секундах, используется если таймаут не указан в запросе или равен 0
max_parallel_jobs: 10 # максимальное число выполняемых одновременно скриптов-задач
# time for operation folders to live, minutes
deletion_safe_time: 120 # минимальное время в минутах, после которого папка с файлами задачи будет удалена

настройки логирования работы сервера

# logging
log_dir: logs # путь к директории относительно папки приложения, где будут хранится логи
log_file: server # название файла с логами
logger_level: 10 # 10 — DEBUG — уровень логирования, отвечает за подробность выводимой информации

настройки аутентификации для доступа к агенту

Используется basic auth. Кроме ограничения на отправку задач, есть ещё и ограничение на скачивание файлов и удаление папок: только тот же пользователь, что отправлял задачу, может скачать файлы. Клиентам доступна только выгрузка, админам ещё и запрос статуса агента. Настройки задаются в виде пары имя_пользователя: md5_хэш_пароля.

Warning

Внимание! Некоторые онлайн-сервисы неверно считают хэш при наличии спец. символов в пароле!

# authentication: login: md5_hashed_pass paires
# check on different services (but better with python's hashlib)
# as the presence of special chars in the pass sometimes breaks some services
basic_auth: True # включение и отключение аутентификации
# for clients
client_auth: # клиенты
    client1: 'hash_here'
# for admins
admin_auth:
    service: 'hash_here'