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.4.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.4.tar.gz
  • Upload date:
  • Size: 9.3 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.4.tar.gz
Algorithm Hash digest
SHA256 512d2707b73552909ef9ead91eb7f0701d04b4dc41b2fee38616baf73498b2a5
MD5 fcc671df14d5972171a62d69664f6658
BLAKE2b-256 fe5ab57c01f5c8280fd501ca12f527df498c791d1adfd13143609fb9fe432ad5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a8cf4c061936e2ac9ba6e2357802919570945f930f04cb50124d55996a9f5135
MD5 43bdf35b41112df584d79c709f565ff5
BLAKE2b-256 4c66d4d9e7faa8b7193f47ef59eb5bdd9344b3d25e851d3317b6022b15b79e26

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