Implemented RedisStorage.reset_all - for resetting all states in storage.

This commit is contained in:
Alex Root Junior 2017-11-15 19:15:12 +02:00
parent 191d3023bb
commit 1ab9c09a5c

View file

@ -153,3 +153,18 @@ class RedisStorage(BaseStorage):
result.append((chat, user))
return result
async def reset_all(self, full=True):
"""
Reset states in DB
:param full: clean DB or clean only states
:return:
"""
conn = await self.redis
if full:
conn.execute('FLUSHDB')
else:
keys = await conn.execute('KEYS', 'fsm:*')
conn.execute('DEL', *keys)