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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 8112afef2ab61eee18c3c20e629443a8fe85a9177e88ca4d280d897e16b09792
MD5 685c982a38e2389e84af9dc2c5fff8b8
BLAKE2b-256 4115d5a5d34a1f32415758b7162a09516fdf1ea12f5ae80e4f3cc068ea0ac2b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mainservicemanager-0.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 727caa85fccf4d8ca3719a6525b5725f0af9155c1f01c38328b15589cfdbdf81
MD5 cf10fd6afd9a624583be0470c74f4478
BLAKE2b-256 4a35d8e36348ac91fc70f8c4f3b5b23e36dc18d2078b64fa99c992a5ee0ed1c6

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