für ein Projekt möchte ich eine API bauen, welche vom Client durch ein GET request angefragt wird. Daraufhin wird beim Server ein Prozess gestartet und mit einem Datenstrom geantwortet.
Aktuell habe ich dies anhand von websockets implementiert, aber würde gern fastAPI oder ein anderes API Framework nutzen.
Code: Alles auswählen
# Server
async def stream(websocket):
message = await websocket.recv()
print(message)
for i in range(100):
await websocket.send(str(i))
async def main():
async with websockets.serve(stream, "", 7890):
await asyncio.Future() # run forever
if __name__ == "__main__":
asyncio.run(main())
Code: Alles auswählen
# Client
async def listen():
url = "ws://127.0.0.1:7890"
# Connect to the server
async with websockets.connect(url) as ws:
# Send a greeting message
await ws.send("Hello Server!")
# Stay alive forever, listening to incoming msgs
while True:
msg = await ws.recv()
print(msg)
if __name__ == "__main__":
asyncio.run(listen())
Über ein paar Tipps wie man so was am besten umsetzen könnte würd ich mich sehr freuen. Ist auch die erste API die ich entwickele also etwas literatur zu best practice nehm ich auch gern.
LG
Christopher