Yeah, we can always fallback on ye' olde workhorse, subprocess.  I was
excited about all the fancy new possibilities for communication
multiprocessing presented, though.  Ah well  - we got lots of other
cool stuff (such as Qt!), no need to get greedy...

- Paul

On Thu, Jun 10, 2010 at 1:55 PM, Chris G <[email protected]> wrote:
> I get the same on Mac, but with a spamming of errors in the console.
> subprocess seems to work ok though.
>
>
> On Thu, Jun 10, 2010 at 3:18 PM, Judah Baron <[email protected]> wrote:
>> You might try Qt's threads?
>>
>> On Thu, Jun 10, 2010 at 9:43 AM, Paul Molodowitch <[email protected]>
>> wrote:
>>>
>>> Well, I tried executing something that should have no output:
>>>
>>> import multiprocessing
>>>
>>> foo = []
>>> p = multiprocessing.Process(target=foo.append, args=(3,))
>>> p.start()
>>> p.join()
>>>
>>> ...alas, this still caused a maya crash.  Also, I tried using
>>> executeInMainThreadWithResult:
>>>
>>> import multiprocessing
>>> import maya.utils
>>>
>>> foo = []
>>> p =
>>> multiprocessing.Process(target=maya.utils.executeInMainThreadWithResult,
>>> args=(foo.append, 3))
>>> p.start()
>>> p.join()
>>>
>>> ...and this made not difference either.  (Actually, as I understand
>>> it, since it's running as a separate process, shouldn't it ALREADY be
>>> the main thread in that process?)
>>>
>>> I also tried gui maya 2009 (with the backported module - I tested it
>>> with mayapy first to make sure it worked), and also got crashes with
>>> multiprocessing.
>>>
>>> Unless I'm missing something obvious, it seems gui maya +
>>> multiprocessing just don't get along...
>>>
>>> - Paul
>>>
>>> On Wed, Jun 9, 2010 at 9:18 PM, John Creson <[email protected]> wrote:
>>> > In this case, are you printing into a maya gui?
>>> > Perhaps, you need to try pushing the print to the main thread, so you
>>> > don't step on Maya's event loop.
>>> >
>>> > import maya.utils
>>> > import maya.cmds
>>> > def doSphere( radius ):
>>> >    maya.cmds.sphere( radius=radius )
>>> > maya.utils.executeInMainThreadWithResult( doSphere, 5.0 )
>>> >
>>> > On Wed, Jun 9, 2010 at 9:48 PM, Paul Molodowitch <[email protected]>
>>> > wrote:
>>> >> So, given the issues with the GIL lock in python, I was excited about
>>> >> using the new multiprocessing module... especially since a back port
>>> >> is also available for python 2.5.
>>> >>
>>> >> I worked beautifully when I was playing around with it from mayapy -
>>> >> but as soon as I tried to use it in a GUI maya, maya crashed
>>> >> immediately.
>>> >>
>>> >> For the curious, here's what I was testing with:
>>> >>
>>> >> import multiprocessing
>>> >> from pprint import pprint
>>> >>
>>> >> p = multiprocessing.Process(target=pprint, args=(dir,))
>>> >> p.start()
>>> >> p.join()
>>> >>
>>> >> Does anyone know if I'm doing anything wrong here? As I said, it seems
>>> >> to work fine when done from a console.  Or does maya just not like
>>> >> multiprocessing?  I know that it can have some issues with threads...
>>> >> but given that things such as subprocess seem to work fine, I had hope
>>> >> for multiprocessing...
>>> >>
>>> >> - Paul
>>> >>
>>> >> --
>>> >> http://groups.google.com/group/python_inside_maya
>>> >
>>> > --
>>> > http://groups.google.com/group/python_inside_maya
>>>
>>> --
>>> http://groups.google.com/group/python_inside_maya
>>
>> --
>> http://groups.google.com/group/python_inside_maya
>
> --
> http://groups.google.com/group/python_inside_maya

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to