On Mon, Mar 26, 2012 at 5:23 AM, G. Allegri <span dir="ltr"><<a href="mailto:giohappy@gmail.com">giohappy@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>I would advise you to change your software to adopt a loose coupling strategy</div>
</div>
between the qgis part and the esri part, either through web services, data<br>
exchange over a file or a database or something else not considered as a link<br>
in the GPL sense.<br></blockquote><div><br></div></div><div>This is a solution that I have considered, but it would require a lot of overhead to do data structure exchange (python objects). I will consider the way of cPickle or Google's protobuf.</div>
<div><br></div><div>giovanni</div></div></blockquote><div><br></div><div>Take a look at the IPython parallel infrastructure:</div><div><br></div><div> <a href="http://ipython.org/ipython-doc/stable/parallel/index.html">http://ipython.org/ipython-doc/stable/parallel/index.html</a></div>
<div><br></div><div>Haven't used ArcPy, but if it is a simple matter of importing libraries then you could fire up an IPcluster that makes the required imports. From the QGIS side, generating tasks would be a matter of connecting to the cluster and executing a function:</div>
<div><br></div><div> from IPython.parallel import Client</div><div> c = Client()</div><div><br></div><div> c.apply_sync(<some function>)</div><div><br></div><div>IPython will handle all the pickling details for you.</div>
<div><br></div><div><br></div><div>-Charlie</div></div>