Skip to main content

Пользовательская программа для управления сервисами, аналогично systemd

Project description

Описание

MainServiceManager - менеджер сервисов (аналогично systemctl в Linux). Каждый пользователь может запустить свой сервер MainServiceManager при условии, что они запущены на разных портах. Программы, у которых есть пароль, могут использовать API для управления всем сервером и всеми сервисами. Сервисы могут использовать API для управления собой (ограниченный доступ).

Использование встроенного API

from MainServiceManager import Launcher
# Инициализация API
launcher=Launcher({"user":"admin","password":"qwerty :)"})
# Проверить статус сервера
try:
  launcher.admin_status()
  print("Сервер доступен")
except:
  print("Сервер недоступен")
# Остановить сервер
launcher.admin_stop()

Конфиг сервера

По умолчанию настройки сервера хранятся в файле ~/.config/MainServiceManager/cfg.json Если файл не существует, он будет создан Настройки по умолчанию:

{
  "host":"127.0.0.1",
  "password":"",
  "port":8960,
  "services_dir":"{папка с конфигом}/services",
}
  • host - IP адрес, на котором будет запущен сервер
  • port - порт, на котором будет запущен сервер
  • password - пароль от аккаунта admin. Не забудьте его изменить!
  • services_dir - папка с файлами сервисов

Файлы сервисов

Если параметр не указан, он равен null Недопустимые параметры игнорируются, но видны при получении информации о сервисе Тип записи:

  • параметр (тип) - описание

Обязательные параметры

  • args (list) - список аргументов для запуска

Дополнительные параметры

  • autostart (bool) - включать сервис при запуске сервера?
  • data_path (str) - путь к файлу JSON для записи информации о сервисе (в том числе персональный пароль)
  • cwd (str) - рабочая папка
  • env (dict) - переменные среды
  • clean_env (bool) - отключить наследование ENV от процесса сервера?
  • restart (str) - условие для автоматического перезапуска
  • | "always" - перезапускать при любой остановке процесса
  • | "on_error" - перезапускать если процесс остановился с кодом ≠0
  • | "code=N" - (в будущем) перезапускать если процесс остановился с кодом N
  • | "code!=N" - (в будущем) перезапускать если процесс остановился с кодом ≠N
  • | null - не перезапускать

Параметры для Linux

Если параметры недоступны, они игнорируются

  • user (str) - пользователь, от имени которого нужно запускать процесс
  • group (str) - группа, в которой нужно запускать процесс
  • extra_groups (unknown) - неизвестно, не рекомендуется для использования

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mainservicemanager-0.0.9.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

mainservicemanager-0.0.9-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file mainservicemanager-0.0.9.tar.gz.

File metadata

  • Download URL: mainservicemanager-0.0.9.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.8 Linux/4.19.191-25991128-abA037FXXU4CWG6

File hashes

Hashes for mainservicemanager-0.0.9.tar.gz
Algorithm Hash digest
SHA256 0b2a6815b404bc1797166b12740502b84029d0c0c774be47bdeeafd5c1bb1c7d
MD5 1d8b64b90f52045cae43bb47baa7c2f4
BLAKE2b-256 0c2037eb190cf66c91eeaea7b47c1ba8415d2caf3ce766685a0f7ad587173fd4

See more details on using hashes here.

File details

Details for the file mainservicemanager-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: mainservicemanager-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.8 Linux/4.19.191-25991128-abA037FXXU4CWG6

File hashes

Hashes for mainservicemanager-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 7daca05a4922952f816346dc36fc456e221a93b8a7b1cd1ef768477e7a03dfc5
MD5 da7cedcbb92dfa914e2021b0f5975390
BLAKE2b-256 d8013a0d79c105bf23f18724c7cc4644803c92b7463d60cbc2efe7ed51ab5d99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page