I just read up and it seems that no matter the approach, it's futile to use multiprocessing.Queue, since there is a bug that prevents true FIFO. (http://bugs.python.org/issue4999)

Any recommendation on an alternate way to build a priority queue to use with a "one producer, many consumers" type multiprocessing setup would be welcomed!

:|

On 2009-05-09 18:42:34 +0200, uuid <m8r-gqm...@mailinator.com> said:

Hello,
I was wondering whether there was a way to make multiprocessing.Queue behave in a priority queue-like fashion. Subclassing with heappush and heappop for put and get doesn't work the old way (multiprocessing.Queue seems to use different data structures than Queue.Queue?)

Could one create a heapq within the producer as a proxy, and then feed a proper queue from that? Does anyone have an idea on how to deal with the queue item flow control? (Since all of the sorting has to happen within the heapq, it should only pass items to the real Queue if it's empty?)

Thanks in advance!


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to