1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-12 19:38:57 +00:00

Do not timeout forwarded calls

This commit is contained in:
Julien Duponchelle 2016-06-07 11:21:19 +02:00
parent d30abeca21
commit dcebaf61b8
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
2 changed files with 19 additions and 3 deletions

View File

@ -34,6 +34,22 @@ class ComputeError(ControllerError):
pass
class Timeout(aiohttp.Timeout):
"""
Could be removed with aiohttp 0.22 that support None timeout
"""
def __enter__(self):
if self._timeout:
return super().__enter__()
return self
def __exit__(self, exc_type, exc_val, exc_tb):
if self._timeout:
return super().__exit__(exc_type, exc_val, exc_tb)
return self
class Compute:
"""
A GNS3 compute.
@ -266,7 +282,7 @@ class Compute:
@asyncio.coroutine
def _run_http_query(self, method, path, data=None, timeout=10):
with aiohttp.Timeout(timeout):
with Timeout(timeout):
url = self._getUrl(path)
headers = {}
headers['content-type'] = 'application/json'
@ -335,5 +351,5 @@ class Compute:
"""
Forward a call to the emulator on compute
"""
res = yield from self.http_query(method, "/{}/{}".format(type, path), data=data)
res = yield from self.http_query(method, "/{}/{}".format(type, path), data=data, timeout=None)
return res.json

View File

@ -1,5 +1,5 @@
jsonschema>=2.4.0
aiohttp>=0.21.5
aiohttp>=0.21.6
aiohttp_cors>=0.4.0
Jinja2>=2.7.3
raven>=5.2.0