[AstroPy] A question about multiprocessing

Jean-Baptiste Marquette marquett@iap...
Fri Nov 4 11:13:03 CDT 2011


Hi Francesco,

I think you're right. I missed the .map method in my previous attempts.

Thanks for the recall.

Cheers
JB

Le 4 nov. 2011 à 17:00, Francesco Pierfederici a écrit :

> Hi Jean-Baptiste,
> 
> A possibly simpler way to do what I *think* you want to do is using
> multiprocessing.Pool:
> 
> -------------
> #!/usr/bin/env python
> import multiprocessing as multi
> 
> 
> def CatDistort(Image):
>    print('Working on Image %s' % (Image))
>    return('Processed ' + Image)
> 
> 
> 
> NPROC = 4
> Images = 'abcdefghijklmnopqrstuvwxyz'
> pool = multi.Pool(processes=NPROC)
> 
> results = pool.map(CatDistort, Images)
> 
> print 'Process completed'
> 
> print(results)
> exit(0)
> ---------------------
> 
> But then again I might be misunderstanding what you are trying to accomplish.
> 
> Cheers,
> Francesco
> 
> 
> 
> 
> 
> On Fri, Nov 4, 2011 at 10:45 AM, Jean-Baptiste Marquette
> <marquett@iap.fr> wrote:
>> Dear Python gurus,
>> I'm not sure to be on the right mailing list, but I have the following
>> problem:
>> I have this code ran from Eclipse/PyDev:
>> import multiprocessing as multi
>> def CatDistort(queue):
>>     for Image in iter(queue.get, 'STOP'):
>> etc...
>> queue = multi.Queue()
>> for Image in glob.glob(DirImg + '*r.sdf'):
>>     queue.put(Image)
>>     print os.path.basename(Image), 'queued'
>> queue.put('STOP')
>> Jobs = []
>> for i in range(NPROC):
>>     proc= multi.Process(target=CatDistort, args=[queue])
>>     Jobs.append(proc)
>>     proc.start()
>> 
>> 
>> 
>> for job in Jobs:
>>     job.join(360)
>> print 'Process completed'
>> exit(0)
>> The target and the queue work well, but the process never terminates. In
>> other words, the final print is never displayed.
>> Any hint ?
>> Thanks for your help,
>> Cheers
>> Jean-Baptiste
>> 
>> _______________________________________________
>> AstroPy mailing list
>> AstroPy@scipy.org
>> http://mail.scipy.org/mailman/listinfo/astropy
>> 
>> 



More information about the AstroPy mailing list