Skip to content

Commit f5f492e

Browse files
committed
add initial rpc route
1 parent 027f68b commit f5f492e

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from typing import Final
2+
3+
from pydantic import TypeAdapter
4+
5+
from ..rabbitmq_basic_types import RPCNamespace
6+
7+
STORAGE_RPC_NAMESPACE: Final[RPCNamespace] = TypeAdapter(RPCNamespace).validate_python(
8+
"storage"
9+
)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from servicelib.rabbitmq import RPCRouter
2+
3+
router = RPCRouter()
4+
5+
6+
@router.expose()
7+
async def start_zipping(paths: list[str]) -> str:
8+
return f"Started zipping [ { ','.join(paths) } ]"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import logging
2+
3+
from fastapi import FastAPI
4+
from models_library.api_schemas_storage import STORAGE_RPC_NAMESPACE
5+
from servicelib.logging_utils import log_context
6+
from servicelib.rabbitmq import RPCRouter
7+
8+
from ...modules.rabbitmq import get_rabbitmq_rpc_server
9+
from . import _zipping
10+
11+
_logger = logging.getLogger(__name__)
12+
13+
14+
ROUTERS: list[RPCRouter] = [_zipping.router]
15+
16+
17+
def setup_rpc_api_routes(app: FastAPI) -> None:
18+
async def startup() -> None:
19+
with log_context(
20+
_logger,
21+
logging.INFO,
22+
msg="RUT startup RPC API Routes",
23+
):
24+
rpc_server = get_rabbitmq_rpc_server(app)
25+
for router in ROUTERS:
26+
await rpc_server.register_router(router, STORAGE_RPC_NAMESPACE, app)
27+
28+
app.add_event_handler("startup", startup)

0 commit comments

Comments
 (0)