dongweiming / lyanna

My Blog Using Sanic
http://www.dongwm.com
GNU General Public License v3.0
637 stars 173 forks source link

unable to perform operation on <TCPTransport closed=True reading=False 0x18eab48>; the handler is closed #8

Closed dongweiming closed 5 years ago

dongweiming commented 5 years ago

Run it for a while and i saw some errors like this:

[2019-01-21 10:32:02 +0800] - (sanic.access)[INFO][UNKNOWN]: GET http://blog.pycourses.com/post/125/  500 144
[2019-01-21 10:32:07 +0800] [12583] [ERROR] Exception occurred while handling uri: 'http://blog.pycourses.com/post/125/'
Traceback (most recent call last):
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/sanic/app.py", line 750, in handle_request
    response = await response
  File "/home/dongwm/lyanna/views/blog.py", line 50, in post
    return await _post(request, ident=ident)
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/sanic_mako.py", line 109, in wrapped
    context = await coro(*args, **kwargs)
  File "/home/dongwm/lyanna/views/blog.py", line 68, in _post
    related_posts = await post.get_related()
  File "/home/dongwm/lyanna/models/mc.py", line 112, in _
    r = await f(*a, **kw)
  File "/home/dongwm/lyanna/models/blog.py", line 227, in get_related
    'post_id', flat=True))
  File "/home/dongwm/lyanna/venv/src/tortoise/tortoise/queryset.py", line 703, in _execute
    result = await self._db.execute_query(str(self.query))
  File "/home/dongwm/lyanna/venv/src/tortoise/tortoise/backends/mysql/client.py", line 22, in wrapped
    return await func(self, query, *args)
  File "/home/dongwm/lyanna/venv/src/tortoise/tortoise/backends/mysql/client.py", line 121, in execute_query
    await cursor.execute(query)
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/aiomysql/cursors.py", line 239, in execute
    await self._query(query)
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/aiomysql/cursors.py", line 457, in _query
    await conn.query(q)
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/aiomysql/connection.py", line 427, in query
    await self._execute_command(COMMAND.COM_QUERY, sql)
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/aiomysql/connection.py", line 663, in _execute_command
    self._write_bytes(prelude + sql[:chunk_size - 1])
  File "/home/dongwm/lyanna/venv/lib/python3.6/site-packages/aiomysql/connection.py", line 608, in _write_bytes
    return self._writer.write(data)
  File "/usr/local/lib/python3.6/asyncio/streams.py", line 300, in write
    self._transport.write(data)
  File "uvloop/handles/stream.pyx", line 671, in uvloop.loop.UVStream.write
  File "uvloop/handles/handle.pyx", line 159, in uvloop.loop.UVHandle._ensure_alive
RuntimeError: unable to perform operation on <TCPTransport closed=True reading=False 0x18eab48>; the handler is closed
dongweiming commented 5 years ago

fixed in https://github.com/dongweiming/tortoise-orm/commit/56f2ac34611c7a733cc4693f1f01c4537760e580