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
