def METHOD_NAME(self):
    LOG.info('Stopping engines...')
    if 'pg' in self.engines:
        if self.engines['pg'].done():
            self.engines['pg'].result().terminate()
            yield from self.engines['pg'].result().wait_closed()
        else:
            yield from self.engines['pg'].cancel()
    if 'mysql' in self.engines:
        if self.engines['mysql'].done():
            self.engines['mysql'].result().close()
            yield from self.engines['mysql'].result().wait_closed()
        else:
            yield from self.engines['mysql'].cancel()
    if 'redis' in self.engines:
        self.engines['redis'].close()
        yield from asyncio.sleep(1) # wait redis close connection
    LOG.info('All engines stopped !')
    yield from super().METHOD_NAME(