@@ -30,6 +30,8 @@ features:
30
30
assigned to "rooms".
31
31
- Optional support for multiple servers, connected through a messaging queue
32
32
such as Redis or RabbitMQ.
33
+ - Send messages to clients from external processes, such as Celery workers or
34
+ auxiliary scripts.
33
35
- Event-based architecture implemented with decorators that hides the details
34
36
of the protocol.
35
37
- Support for HTTP long-polling and WebSocket transports.
@@ -212,13 +214,14 @@ Using a Message Queue
212
214
---------------------
213
215
214
216
The Socket.IO server owns the socket connections to all the clients, so it is
215
- the only process that can emit events to them. A common need of larger
216
- applications is to emit events to clients from a different process, like a
217
- a `Celery <http://www.celeryproject.org/ >`_ worker, or any other auxiliary
218
- process that works in conjunction with the server.
217
+ the only process that can emit events to them. Unfortunately this becomes a
218
+ limitation for many applications, as a common need is to emit events to
219
+ clients from a different process, like a
220
+ `Celery <http://www.celeryproject.org/ >`_ worker, or any other auxiliary
221
+ process or script that works in conjunction with the server.
219
222
220
223
To enable these other processes to emit events, the server can be configured
221
- to listen for events to emit to clients on a message queue such as
224
+ to listen for externally issued events on a message queue such as
222
225
`Redis <http://redis.io/ >`_ or `RabbitMQ <https://www.rabbitmq.com/ >`_.
223
226
Processes that need to emit events to client then post these events to the
224
227
queue.
@@ -232,7 +235,7 @@ ta message queue.
232
235
233
236
The message queue service needs to be installed and configured separately. By
234
237
default, the server uses `Kombu <http://kombu.readthedocs.org/en/latest/ >`_
235
- to read and write to the queue, so any message queue supported by this package
238
+ to access the message queue, so any message queue supported by this package
236
239
can be used. Kombu can be installed with pip::
237
240
238
241
pip install kombu
0 commit comments