<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">So my personal opinion is that u should design your API independent of either of these (asyncio, eventlet, threads...),<div><br></div><div>I think if u design the key parts of your API with the future[1] concept in mind then you can easily connect into the future (asyncio or other).</div><div><br></div><div>The asyncio layer has a future wrapper of its own (it actually has its own future related class[2], both of which are in the standard library to add to the confusion/fun...),</div><div><br></div><div>But if you target that kind of API (one that can return async objects, futures or other) then I think you will be tolerant of changes for asyncio or other...</div><div><br></div><div>With taskflow[3] I've tried to do this. It runs tasks/atoms (a taskflow concept) via futures and executors (one of its executors actually runs things remotely), which hopefully makes it easier to switch in a asyncio executor or other in the future, and it also has connections to make it transparent that eventlet is just another future executor[4]. But I guess it becomes a question of what platform (3.4+) do you want to support and what design decisions you are ok with making that don't affect your current system to drastically...</div><div><br></div><div>[1] <a href="https://docs.python.org/dev/library/concurrent.futures.html#future-objects">https://docs.python.org/dev/library/concurrent.futures.html#future-objects</a></div><div>[2] <a href="https://docs.python.org/3/library/asyncio-task.html#future">https://docs.python.org/3/library/asyncio-task.html#future</a></div><div>[3] <a href="http://docs.openstack.org/developer/taskflow/">http://docs.openstack.org/developer/taskflow/</a></div><div>[4] <a href="https://github.com/openstack/taskflow/blob/master/taskflow/utils/eventlet_utils.py#L98">https://github.com/openstack/taskflow/blob/master/taskflow/utils/eventlet_utils.py#L98</a></div><div><br></div><div>My 2 cents,</div><div><br></div><div>Josh</div><div><br><div><div>On Sep 12, 2014, at 2:53 PM, Eichberger, German <<a href="mailto:german.eichberger@hp.com">german.eichberger@hp.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="WordSection1" style="page: WordSection1;"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Hi,<o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">I think the “standard” threading library for OpenStack is eventlet – however, it seems that Oslo is spearheading efforts to get to a more compatible one (see<a href="http://techs.enovance.com/6562/asyncio-openstack-python3" style="color: purple; text-decoration: underline;">http://techs.enovance.com/6562/asyncio-openstack-python3</a>) I am now wondering since we are starting fresh if we should embrace (a potential) future or stick with eventlet and all its flaws?<o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">Thoughts?<o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;">German<o:p></o:p></div></div>_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org" style="color: purple; text-decoration: underline;">OpenStack-dev@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="color: purple; text-decoration: underline;">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div></blockquote></div><br></div></body></html>