Replacing tornado
with asyncio
#4592
Replies: 3 comments 9 replies
-
Thanks @sphuber, I like this use case for discussions 👍 |
Beta Was this translation helpful? Give feedback.
-
I don't wan't to derail this thread too much, but just felt the need to congratulate both @sphuber and @unkcpz for finally merging this PR. I know it was a collosal task which, as @sphuber mentioned, involved a lot of work not only in this package but also in some of our dependencies as well. Moreover the change is of great importance because indeed our dependency on Kudos to both! |
Beta Was this translation helpful? Give feedback.
-
@sphuber No complaints from tests or regular runs with |
Beta Was this translation helpful? Give feedback.
-
We have just merged PR #4317 which replaces the
tornado
library withasyncio
. These libraries are used extensively by the engine to make it possible to handle multiple processes asynchronously and so make it responsive and scale. The reason for removing istornado
is that we were stuck to an older version since newer versions introduced a lot of backwards incompatible changes. However, limiting the version oftornado
caused a conflict with other tools that required a more recent version, such asjupyter
. We could have upgraded the code to be compatible with more recent versions oftornado
but instead decided to replace it entirely byasyncio
, which provides the same functionality, but is a Python built-in module.The work was performed in collaboration with @unkcpz during the Google Summer of Code of 2020. He did not only update our own lower lying libraries
plumpy
andkiwipy
to useasyncio
, but also contributed to the external librarycircus
(which is used by our daemon) to make it compatible with recenttornado
versions. Finally, he migrated theaiida-core
code to useasyncio
and this work is now almost ready to be merged and will be released with v1.6 towards the end of this year. I want to take this opportunity to thank Jason once more for a great job done!The reason that I am writing this post is that despite the extensive testing that we have done, the changes are quite extensive and touch almost every part of the engine, which is itself a critical component of
aiida-core
. We therefore want to inform users, that may actually runaiida-core
off of thedevelop
branch, that soon there will be a significant change. We actually encourage you to try out thedevelop
branch against your own workflows, but maybe not in a production database. It would be great to collect any information on suspected unintended changes in behavior or bugs in here. We can then split real bugs off into issues so we can fix them.Beta Was this translation helpful? Give feedback.
All reactions