On 8/25/10 12:24 PM, Ed Leafe wrote:
> On Aug 25, 2010, at 3:06 PM, Paul McNett wrote:
>
>>> Thanks Paul!  One more question... is there any problem calling the
>>> above routine about 25 times in a row?  IOW will it wait while
>>> outputting a file before outputting the next one?
>>
>> It will run them sequentially unless you provide for multi-thread or 
>> multi-process
>> processing. If you want your UI to remain responsive while this stuff runs, 
>> then I'd
>> consider making it a completely separate process which you spawn using the 
>> subprocess
>> module. You could have a timer fire every 10 seconds or so to poll for a file
>> semaphore somewhere to then present the status screen to the user when the 
>> other
>> process finishes.
>
>
>       Check out eventlet: http://eventlet.net/  Here's some pseudo-code that 
> will run up to 50 blocking processes concurrently; I'm assuming that the 
> process is called 'printPDF', and takes a file name as an argument.
>
>
> import eventlet
> pool = eventlet.GreenPool(size=50)
> for nm in myFileNames:
>      pool.spawn_n(printPDF, nm)
> with eventlet.Timeout(120):
>      pool.waitall()
>
>
>       Much nicer than threads to maintain, and much more memory-efficient!

Yes, eventlet is cool and looks like a nice way to handle these types of 
problems. 
You meant "I assume the *function* is called printPDF", though, I assume.

Paul

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to