diff --git a/example_block/eden-server/announce.py b/example_block/eden-server/announce.py index f4afbac..c58d389 100644 --- a/example_block/eden-server/announce.py +++ b/example_block/eden-server/announce.py @@ -18,16 +18,23 @@ def get_ip_address(): # Update these with the correct values for your host and server HOST_SERVER_IP = "192.168.1.113" HOST_SERVER_PORT = 4999 -SERVER_NAME = "server_1" + SERVER_IP = get_ip_address() SERVER_PORT = 8000 sio = socketio.AsyncClient() -async def announce_server(): +async def announce_server(**kwargs): + SERVER_NAME = "server_1" + server_name = kwargs.get("name", SERVER_NAME) + # SERVER_IP = kwargs.get("ip", SERVER_IP) + # SERVER_PORT = kwargs.get("port", SERVER_PORT) + # HOST_SERVER_IP = kwargs.get("host_server_ip", HOST_SERVER_IP) + # HOST_SERVER_PORT = kwargs.get("host_server_port", HOST_SERVER_PORT) + @sio.event async def connect(): - await sio.emit('register', {'name': SERVER_NAME, 'ip': SERVER_IP, 'port': SERVER_PORT}) + await sio.emit('register', {'name': server_name, 'ip': SERVER_IP, 'port': SERVER_PORT}) print("Announced server to host") async def main(): @@ -53,15 +60,15 @@ async def announce_server(): await main() -def announce_server_decorator(host_block_function): - @wraps(host_block_function) +def announce_server_decorator(task): + @wraps(task) def wrapper(*args, **kwargs): async def main(*args, **kwargs): loop = asyncio.get_event_loop() - host_block_thread = loop.run_in_executor(None, host_block_function) + host_block_thread = loop.run_in_executor(None, task) # Announce the server to the host - await announce_server() + await announce_server(name='test') # Wait for host_block to finish await host_block_thread @@ -69,3 +76,23 @@ def announce_server_decorator(host_block_function): return asyncio.run(main()) return wrapper + +# def announce_server_decorator(**outer_kwargs): +# def decorator(host_block_function): +# @wraps(host_block_function) +# def wrapper(*args, **kwargs): + +# async def main(*args, **kwargs): +# loop = asyncio.get_event_loop() +# host_block_thread = loop.run_in_executor(None, host_block_function, *args, **kwargs) + +# # Announce the server to the host +# await announce_server(**outer_kwargs) + +# # Wait for host_block to finish +# await host_block_thread + +# return asyncio.run(main(*args, **kwargs)) + +# return wrapper +# return decorator \ No newline at end of file diff --git a/example_block/eden-server/server.py b/example_block/eden-server/server.py index 039f309..d9e068b 100644 --- a/example_block/eden-server/server.py +++ b/example_block/eden-server/server.py @@ -57,7 +57,7 @@ def do_something(config): from announce import announce_server_decorator -@announce_server_decorator +@announce_server_decorator#(name="example_block", port=5656) def run_host_block(): host_block( block=eden_block,