87 lines
1.8 KiB
Markdown
87 lines
1.8 KiB
Markdown
# Announce Server
|
|
|
|
A Python library that announces a server to a host.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install announce-server
|
|
```
|
|
|
|
## Development
|
|
|
|
To install the developer dependencies required for testing and publishing:
|
|
```bash
|
|
pip install -e .[dev,pub]
|
|
```
|
|
|
|
## Build
|
|
To build the package, run:
|
|
|
|
```bash
|
|
rm -rf dist/ build/ .eggs/ .pytest_cache/ src/announce_server.egg-info/
|
|
python -m build --sdist --wheel
|
|
```
|
|
|
|
To publish:
|
|
|
|
```bash
|
|
twine upload dist/*
|
|
```
|
|
|
|
## Test
|
|
|
|
To run the tests, call:
|
|
|
|
```bash
|
|
pytest
|
|
```
|
|
|
|
## Usage
|
|
|
|
```python
|
|
from announce_server import register_service
|
|
|
|
@register_service(name="server_name", ip="server_ip", port=8000, host_ip="host_server_ip", host_port=5000, retry_interval=5)
|
|
def your_function():
|
|
pass
|
|
|
|
```
|
|
|
|
## Registry
|
|
|
|
The `announce_server` CLI provides a simple way to start a registry server. The registry server keeps track of available services and periodically sends heartbeat messages to ensure that registered services are still active.
|
|
|
|
### Command
|
|
|
|
```bash
|
|
announce_server start_registry [--address ADDRESS] [--port PORT] [--heartbeat_interval INTERVAL] [--heartbeat_timeout TIMEOUT]
|
|
```
|
|
|
|
### Arguments
|
|
|
|
- `--address ADDRESS`: The IP address of the server. Default: `0.0.0.0`.
|
|
- `--port PORT`: The port number of the server. Default: `4999`.
|
|
- `--heartbeat_interval INTERVAL`: The interval between heartbeat messages in seconds. Default: `5`.
|
|
- `--heartbeat_timeout TIMEOUT`: The timeout for waiting for a response in seconds. Default: `3`.
|
|
|
|
### Example
|
|
|
|
To start the registry server with the default configuration, run:
|
|
|
|
```bash
|
|
announce_server start_registry
|
|
```
|
|
|
|
The full syntax is equivalent to:
|
|
|
|
```bash
|
|
announce_server start_registry --address 0.0.0.0 --port 4999 --heartbeat_interval 5 --heartbeat_timeout 3
|
|
```
|
|
|
|
To test connections, run:
|
|
|
|
```bash
|
|
announce_server start_client --host-ip 0.0.0.0 --host-port 4999
|
|
```
|