This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hemflit
Recipients hemflit, pitrou, rhettinger, tim.peters
Date 2018-11-09.12:23:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1541766198.82.0.788709270274.issue35034@psf.upfronthosting.co.za>
In-reply-to
Content
Hi Raymond!

Thanks for the attention you've given this and for the words of encouragement. I'll try to make something like this for PyPI.

I do feel I should critique your metaphor of Queues as email.
(Please don't take this as a request to re-evaluate anything about this proposal or re-hash the "farewell messages are an inferior solution" from python-ideas. It's really only about that "basis for mental model" in general, which I think is doing you a disservice.)

Email is principally bidirectional; with Python's Queues, only one side has the freedom to send any kind of coordination instructions via the same transport that's used for workload messages.

Email is principally one-to-one. The *-to-many Queue case is specifically the one where propagation of farewell messages to all recipients is error-prone, with recipients suddenly needing to worry about the existence of other recipients.

(And if you feel that's not valid because you view multi-recipient as part of the core idea of email, consider that such email is basically "broadcast", with every message reaching every recipient - even further removed from the idea of Queues than single-recipient email is.)

The email metaphor tends to imply FIFO consumption, while Queues support other orderings. These other orderings further complicate the code for dealing with farewell messages.

With email, participants generally have handles on each other, and treat the transport as very abstract. With Queues it's exactly the opposite: they have a handle on the transport mechanism and abstract away the other participants; the transport explicitly takes over some burden of coordination and dispatch; and thanks to that it's very easy for participants to enter or leave an ongoing "conversation" without having to introduce themselves to the others.

(I'm realizing now that email is a pretty good metaphor for Erlang's IPC model though.)
History
Date User Action Args
2018-11-09 12:23:18hemflitsetrecipients: + hemflit, tim.peters, rhettinger, pitrou
2018-11-09 12:23:18hemflitsetmessageid: <1541766198.82.0.788709270274.issue35034@psf.upfronthosting.co.za>
2018-11-09 12:23:18hemflitlinkissue35034 messages
2018-11-09 12:23:18hemflitcreate