<div dir="ltr">Actually python is fairly easy to get muti-threaded, and with a little more work you can even get muti-processing working. All you really need is a master worker that monitors the number of workers and limits the spawn of additional workers. I use a 6 worker multi-process when doing my database dump scans, each worker processes 500 pages and then dies. When the master process sees a sub-process die it grabs another 500 pages from the work queue and launches a replacement process. With a little monitoring and tweaking you can adjust both the amount of work and number of workers to work withing a reasonable resource limit. This way the work can still get done fairly quickly and you are only using one job queue slot. (Each slot isnt limited to a single process, it just calculates total resource usage and compares that to the limits set, and if a job exceeds the max set it kills it.) Depending on what your bounding factor is either mut-threading or muti-processing should work for you without too much headache in the conversion.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 12:37 AM, Anthony Di Franco <span dir="ltr"><<a href="mailto:di.franco@gmail.com" target="_blank">di.franco@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">The intent of lots of jobs is to have lots of redis queue workers making network requests in parallel, so it would probably be significant work with python's threading or twisted or the like to consolidate multiple requests into a single OS process, but I'll start looking into it, and the resource increase  seems to have us covered in the meantime. Thanks!<br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 29, 2015 at 7:49 PM, Yuvi Panda <span dir="ltr"><<a href="mailto:yuvipanda@gmail.com" target="_blank">yuvipanda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Part of the reason was that they asked for trusty and we only had one<br>
trusty node working for exec hosts, apparently. I have just added 5<br>
more and that should help.<br>
<br>
However, +1 to what Coren said. Can you simplify your code to combine<br>
the tasks together?<br>
<div><div><br>
_______________________________________________<br>
Labs-l mailing list<br>
<a href="mailto:Labs-l@lists.wikimedia.org" target="_blank">Labs-l@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/labs-l" target="_blank">https://lists.wikimedia.org/mailman/listinfo/labs-l</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Labs-l mailing list<br>
<a href="mailto:Labs-l@lists.wikimedia.org">Labs-l@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/labs-l" target="_blank">https://lists.wikimedia.org/mailman/listinfo/labs-l</a><br>
<br></blockquote></div><br></div>