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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.8.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.8.tar.gz
Algorithm Hash digest
SHA256 5aff2b7e9fa1706836a80ddf613822e8b7efe9a7b0b2a4c9c5fed73b808e9d00
MD5 897884911b622eefc845eabf12f1611d
BLAKE2b-256 52b1b46c3ab34169a28ef8be35f9775d24acb3f5245407d84bf83b12859f4c88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9f121fdb79c2b306c695e29cfb3a221f8ca6bd6908136d9760c5479cc705006b
MD5 2afec76dc0416aeb60cbebc0ef6bc081
BLAKE2b-256 78210c62074b8dc3431bf115277e9f6e049590a4baf3dfe684484c478869c414

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