Пользовательская программа для управления сервисами, аналогично 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mainservicemanager-0.0.12.tar.gz
.
File metadata
- Download URL: mainservicemanager-0.0.12.tar.gz
- Upload date:
- Size: 9.5 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88675bc8dbf7454e5a35b5faa7005187e50763a9abb9e0ab30e1948238a847b1 |
|
MD5 | e2f19144d0b6d2b147d4200d351113bd |
|
BLAKE2b-256 | 22083d66ffc9e8c5e930c53d4def8d4a4f56904a416b6fa175f6cb9a626dbb20 |
File details
Details for the file mainservicemanager-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: mainservicemanager-0.0.12-py3-none-any.whl
- Upload date:
- Size: 10.4 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32068988af6cb8b5718395811a07a8445a5d24f7e96167f577dc30b6f9b33aaf |
|
MD5 | 88e4ac91f14626a4ed85f9348324d47f |
|
BLAKE2b-256 | f0767ba6434b786f1960a411979d49f363a271e0976203230dce82986a29097f |