Multiprocessing Queue maxsize-limit ist 32767

Ich versuche zu schreiben, ein Python 2.6 (OSX) Programm mit multiprocessing und ich wollen füllen Sie eine Warteschlange mit mehr als der Standardwert ist 32767 Elemente.

from multiprocessing import Queue
Queue(2**15) # raises OSError

Queue(32767) funktioniert gut, aber jede höhere Zahl (z.B. Queue(32768)) scheitert mit OSError: [Errno 22] Invalid argument

Gibt es eine Abhilfe für dieses Problem?

  • huh? geben Sie den code bitte
  • Welche Art von Daten in der Warteschlange enthalten? Sind Sie sicher, dass irgendeiner höheren Zahl scheitert, oder könnte es sein, dass die 32768th Daten-node, die den Fehler verursacht? (Verwenden Sie path-Namen zufällig?)
  • Ich habe nicht aufgefüllt, die Warteschlange, bevor es explodiert. Nur die Einstellung max Größe bewirkt, dass die OSError.
Schreibe einen Kommentar