Provides decorator to announce the presence of a server to a host machine.
Go to file
2023-03-19 23:09:40 -06:00
src/announce_server working client 2023-03-19 23:09:40 -06:00
tests improve tests 2023-03-19 18:02:11 -06:00
.gitignore cleanup of tests 2023-03-19 17:04:40 -06:00
Makefile makefile 2023-03-19 20:08:12 -06:00
README.md working client 2023-03-19 23:09:40 -06:00
setup.cfg python 3.7+ 2023-03-19 20:03:22 -06:00
setup.py python 3.7+ 2023-03-19 20:03:22 -06:00
what_didnt_work.txt committing what didn't work 2023-03-19 17:05:24 -06:00

Announce Server

A Python library that announces a server to a host.

Installation

pip install announce-server

Development

To install the developer dependencies required for testing and publishing:

pip install -e .[dev,pub]

Build

To build the package, run:

rm -rf dist/ build/ .eggs/ .pytest_cache/ src/announce_server.egg-info/
python -m build --sdist --wheel

To publish:

twine upload dist/*

Test

To run the tests, call:

pytest

Usage

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

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:

announce_server start_registry

The full syntax is equivalent to:

announce_server start_registry --address 0.0.0.0 --port 4999 --heartbeat_interval 5 --heartbeat_timeout 3

To test connections, run:

announce_server start_client --host-ip 0.0.0.0 --host-port 4999