docs: add docs to CB
Pretty much every class and method should have documentation now. ref: N25B-295
This commit is contained in:
@@ -1,3 +1,20 @@
|
||||
"""
|
||||
Control Backend Main Application.
|
||||
|
||||
This module defines the FastAPI application that serves as the entry point for the
|
||||
Control Backend. It manages the lifecycle of the entire system, including:
|
||||
|
||||
1. **Socket Initialization**: Setting up the internal ZeroMQ PUB/SUB proxy for agent communication.
|
||||
2. **Agent Management**: Instantiating and starting all agents.
|
||||
3. **API Routing**: Exposing REST endpoints for external interaction.
|
||||
|
||||
Lifecycle Manager
|
||||
-----------------
|
||||
The :func:`lifespan` context manager handles the startup and shutdown sequences:
|
||||
- **Startup**: Configures logging, starts the ZMQ proxy, connects sockets, and launches agents.
|
||||
- **Shutdown**: Handles graceful cleanup (though currently minimal).
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
import logging
|
||||
import threading
|
||||
@@ -34,6 +51,12 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def setup_sockets():
|
||||
"""
|
||||
Initialize and run the internal ZeroMQ Proxy (XPUB/XSUB).
|
||||
|
||||
This proxy acts as the central message bus, forwarding messages published on the
|
||||
internal PUB address to all subscribers on the internal SUB address.
|
||||
"""
|
||||
context = Context.instance()
|
||||
|
||||
internal_pub_socket = context.socket(zmq.XPUB)
|
||||
|
||||
Reference in New Issue
Block a user