-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
RuntimeError with aiobotocore + Tornado #130
Comments
from what I see this is an issue with your usecase/tornado. aiobotcore and its dependencies require the use of an Event loop that's compatible with |
btw, can you try with the latest aiohttp? The codepath has changed significantly in regard to timeouts |
Regarding Tornado's use of I am on the latest pypi version of aiohttp (1.3.3), which should have all commits regarding timeouts that were pushed to fix aio-libs/aiohttp#1180, since I used this example and it was working. I see in the changelog of 1.3.4 that there is a revert of some timeout handling in client request, so I'll pull that and see if that helps, thanks! |
@andymo The simplest fix is to just wrap your calls in a Task, like so: async def get(self):
session = aiobotocore.get_session()
client = session.create_client('s3')
task = asyncio.ensure_future(client.list_buckets())
response = await task
self.write(response) |
btw, I'm disabling the use of aiohttp's read_timeout (#248) as it is implemented incorrectly, this may help your cause. If getting rid of conn timeout helps as well we can look into that. I'm really unhappy with their timeout impl :( |
@thehesiod do you think we can close this? |
I believe so |
Hopefully this is the right repo to post this issue to, but I suspect the issue may be from
aiobotocore
's calling ofaiohttp
.The example code:
The full exception:
I have read both aio-libs/aiohttp#1180 and aio-libs/aiohttp#877 which are most probably related to this issue.
This example code is a modification of the working example (which I tested works on my system before implementing aiobotocore) provided in issue 1180.
I also tried adding the
with_timeout
andconvert_yielded
wrappers as suggested in 877 but I receive the same error.I know that 1180 ended up in allowing
timeout=None
to be passed to a client request, perhaps something similar can be implemented here that eventually gets passed to the client session request?System information:
The text was updated successfully, but these errors were encountered: