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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 146e1a5ad2511ed95182dbb205a97d0e4f8c5bd7d158d59a8f9020c529607cf0
MD5 e3d8b455c2e7ee3ef84db9b9f3a3ec72
BLAKE2b-256 9ca12a4814e829c56bc138024ceb72c264ea44a7c9af214ee3259b103280bcb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a146d5aa97cec13b1149da8805b0303ce398298d0ce34742ccd5c4b4dad5263c
MD5 e0a14c8172302620bfa07e4b96c3fb1d
BLAKE2b-256 8b6bb8753e87b6af2930436723b1aacf1cd397a22ad3bbadff113663f787b6d9

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