jina.clients.websocket module#
- class jina.clients.websocket.WebSocketClient(args=None, **kwargs)[source]#
Bases:
WebSocketBaseClient
,PostMixin
A client communicates the server with WebSocket protocol.
- class jina.clients.websocket.AsyncWebSocketClient(args=None, **kwargs)[source]#
Bases:
WebSocketBaseClient
,AsyncPostMixin
A client communicates the server with WebSocket protocol.
Unlike
WebSocketClient
, herepost()
is a coroutine (i.e. declared with the async/await syntax), simply calling them will not schedule them to be executed.To actually run a coroutine, user need to put them in an event loop, e.g. via
asyncio.run()
,asyncio.create_task()
.AsyncWebSocketClient
can be very useful in the integration settings, where Jina/Flow/Client is NOT the main logic, but rather served as a part of other program. In this case, users often do not want to let Jina control theasyncio.eventloop
. On contrary,Client
is controlling and wrapping the event loop internally, making the Client looks synchronous from outside.