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

Tornado Support? #78

Open
davidblewett opened this issue Dec 22, 2016 · 2 comments
Open

Tornado Support? #78

davidblewett opened this issue Dec 22, 2016 · 2 comments

Comments

@davidblewett
Copy link

I started looking at this package when I was trying to determine how easy/possible it would be to get boto to use Tornado's IOLoop/AsyncHTTPClient for pushing data to S3. I see there are many similar abstractions (Futures, queues, task management, etc), but it wasn't clear to me what would need to be adapted to work in the context of Tornado. It seems like it should be possible with an Executor subclass that has shims to convert between Tornado's coroutines and this library. If you're interested in supporting Tornado, I would appreciate some guidance. Thanks!

@jamesls
Copy link
Member

jamesls commented Dec 22, 2016

I'm pretty sure this is not possible with the code as it's written today. It makes assumptions that we're operating in a synchronous environment.

The underlying lying library making the S3 API calls, botocore, also doesn't support async.

I think it would be great to support this, but I don't know offhand exactly how we'd tackle this.

@kyleknap feel free to chime in if I've missed something.

@kyleknap
Copy link
Contributor

Yeah I think it would be really awesome to get async support. @jamesls summed it up pretty well.

The current blocker is botocore does not have built-in support for async. I know there are are some botocore/async implementations out there, but it would be great to have first-class support for this as s3transfer heavily relies on botocore's client interface. Once that is implemented, we can start looking to see how we can refactor the internals of s3transfer to remove any of the synchronous assumptions we are making. An audit would need be done to figure those out though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants