afef30231d0264ba89956b72988acbd19b6ad67c
harmoney
Distributed Function Caller Framework for Python
Installation:
pip install harmoney
Dependencies:
- websockets
- fastapi
- requests
- uvicorn
- pydantic
Usage:
Requires 3 scripts: Client, Broker and Runner
- Broker will mediate load balancing and connection handling, so this should start first. One port should be open.
Let broker's IP be 192.168.0.110 and port be 7732
from harmoney import broker as bro
bro.runBroker("0.0.0.0", 7732)
- Runner performs the calculations, should contain function definitions. Connects to broker using broker's IP.
from harmoney import runners as run
def customFunction(arg1: int, arg2: str) -> str:
return arg2*arg1
funcs = {"custFn": customFunction}
run.startRunner(funcs, "192.168.0.110", 7732)
- Client is the main caller of functions. Will contain your main code.
from harmoney import client as cli
cli.Client("192.168.0.110", 7732)
retVal = cli.runSingle("custFn", arg1=10, arg2="arst")
print(retVal)
TODO:
- Error catching, keeping the connection to the broker
- Error info should return to the client
Description