A simple python real-time remote configuration framework.
Project description
rtconfig
A simple Python lib for manage remote server configuration.
- Configuration remote unified management center.
- When the configuration changes, pushed to client in real time.
Installing
pip install rtconfig
Server deploy
You can start server directly by single process.
python -m rtconfig.server
Command options:
- --host: server host
- --port: server port
- --auto-reload: if auto reload
- --store-type: rtconfig server store type
- --broker-url: rtconfig server broker url
Or you can start server multiprocess by Gunicorn.
gunicorn rtconfig.server:app -b 0.0.0.0:8089 -k alita.GunicornWorker -w 2
Login account
Both of initial user name and password is admin
.
If you want to change password or add new account, you need use command like this:
python -m rtconfig.cli update_user {name} {password}
Client connection
Create a new python module conf.py
, then write code like this:
from rtconfig import RtConfigClient
client = RtConfigClient('demo',ws_url='ws://127.0.0.1:8089',config_module=globals())
So, you can use real time configuration like this:
conf.config_name
Configuration
You can create service.py
python file in current directory.
Configuration options:
config name | default | description |
---|---|---|
DEBUG | false | debug mode |
MAX_CONNECTION | 1024 | max client connections |
STORE_TYPE | json_file | data store type |
BROKER_URL | data store broker url |
Config data store method broker url
json_file
BROKER_URL = "~/rtconfig" (默认可不填)
redis
BROKER_URL = "redis://127.0.0.1:6379/0"
mongodb
BROKER_URL = "mongodb://127.0.0.1:27017/demo?connect=false"
Notes
json_file
store type not support multiprocess deploy.
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.