On Tue, Jan 10, 2017 at 9:14 AM, Alessandro Molina <
[email protected]> wrote:

>
> In that case, by the description of "lazy-apps" option I would guess that
> if that option is False, uWSGI will fork() with the app already loaded (and
> by consequence the multiprocessing.Queue already existing). As
> multiprocessing.Queue is in fact implemented over a pipe the file
> descriptor will be cloned in sub processes. This is probably causing some
> odd condition in multiprocessing.Queue which breaks it.
>

Came to my mind that asyncjob actually uses threads, so the queue is not
multiprocessing.Queue() but queue.Queue(), which is an in-memory deque with
a mutex and not a pipe. So the file descriptors thing doesn't apply.

Still it applies that the reason probably lies on the fact that it forks
after having loaded the app, so lies somewhere as a side effect of memory
copying.

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

Reply via email to