Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Everything should be async #9

Open
Xophmeister opened this issue Aug 25, 2017 · 0 comments
Open

Everything should be async #9

Xophmeister opened this issue Aug 25, 2017 · 0 comments

Comments

@Xophmeister
Copy link
Contributor

The API server is all asynchronous, but it interfaces with a bunch of things that aren't; they use threading and the listener pattern to achieve concurrency (modulo the GIL, of course). This, I believe, will cause horrible pausing issues when any async code has to wait on non-async code. For example, every current user's HTTP session could be locked up while one user requests checksums for a chunk that doesn't exist, or if their authentication handler can't connect to its external service.

The following definitely need to be converted to using async:

  • The checksummer
  • The authentication handlers

The iRODS interface should probably also be converted, but it's not a priority as it's "far enough away" from the API server that it probably won't matter.

Xophmeister added a commit that referenced this issue Sep 18, 2017
n.b., The naming of variables, etc. is a bit confused in places...this
should probably be fixed

Fixes #4
Partially addresses #9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant