> On 9 Jun 2020, at 13:20, Kazantcev Andrey <hec...@yandex.ru> wrote:
>
> I have a problem with notifying all current subscribers and new subscribers
> about the closure of the queue and the reason. For example, I have a producer
> that reads messages from websocket or something else and send this to a
> queue, and several consumers (I do not know how many). If any exception
> occurred, then all current subscribers and subscribers which will be added
> later should know about this error. I tried to send an exception to a queue,
> but that did not help, because I have several consumers. Also, this will not
> protect new consumers. I propose to add a new close method with exc argument,
> which will throw an exception when calling the get method, and also throw an
> exception for all current _getters.
What I do when I want to send a program-state-change to consumers is to put N
copies of the state-change object into the queue, one for each consumer.
Then the consumers get the state-change object and do what it instructs.
Of course that requires that I know how many consumers there are. I am
wondering why you use-case means you do not know the number of consumers.
In the simplest case I put copies of None on the queue to signal quit.
For a parallel build tool I put build-state objects into the queue and quit
when all build threads have finished, which is when the build-state's
is_finished is True. When build-state is_finished is False I just log progress
messages.
Barry
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/EYVGOE5XUJPHKMDAGDHAXZ32VP6IAZL5/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/GSIW74J3P54E62DBQBNMXGEPWGLN3YFI/
Code of Conduct: http://python.org/psf/codeofconduct/