class KeepAliveServiceTest(asynctest.TestCase):
    @asyncio.coroutine
    def setUp(self):
        self.root_conn = yield from aiomysql.connect(host='127.0.0.1', port=3306,
                                                            user='******', password='******', db='test',
                                                            loop=self.loop)
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=1")
        yield from cur.close()

        self.pool = yield from aiomysql.create_pool(minsize=2, host='127.0.0.1', port=3306,
                                                    user='******', password='******', db='test',
                                                    loop=self.loop)

        self.keep_alive = KeepAliveService(self.pool, self.loop, 1).start()

    @asyncio.coroutine
    def tearDown(self):
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=28800")
        yield from cur.close()
        yield from self.root_conn.ensure_closed()

        self.pool.close()
        self.keep_alive.stop()
        yield from self.pool.wait_closed()

    @asyncio.coroutine
    def test_timeout(self):
        yield from self.keep_alive.keep_alive_request()

        yield from asyncio.sleep(3)

        self.assertEqual((1, ), (yield from self.keep_alive.keep_alive_request()))
Example #2
0
class KeepAliveServiceTest(asynctest.TestCase):
    @asyncio.coroutine
    def setUp(self):
        self.root_conn = yield from aiomysql.connect(host='127.0.0.1',
                                                     port=3306,
                                                     user='******',
                                                     password='******',
                                                     db='test',
                                                     loop=self.loop)
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=1")
        yield from cur.close()

        self.pool = yield from aiomysql.create_pool(minsize=2,
                                                    host='127.0.0.1',
                                                    port=3306,
                                                    user='******',
                                                    password='******',
                                                    db='test',
                                                    loop=self.loop)

        self.keep_alive = KeepAliveService(self.pool, self.loop, 1).start()

    @asyncio.coroutine
    def tearDown(self):
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=28800")
        yield from cur.close()
        yield from self.root_conn.ensure_closed()

        self.pool.close()
        self.keep_alive.stop()
        yield from self.pool.wait_closed()

    @asyncio.coroutine
    def test_timeout(self):
        yield from self.keep_alive.keep_alive_request()

        yield from asyncio.sleep(3)

        self.assertEqual((1, ),
                         (yield from self.keep_alive.keep_alive_request()))
Example #3
0
    def setUp(self):
        self.root_conn = yield from aiomysql.connect(host='127.0.0.1',
                                                     port=3306,
                                                     user='******',
                                                     password='******',
                                                     db='test',
                                                     loop=self.loop)
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=1")
        yield from cur.close()

        self.pool = yield from aiomysql.create_pool(minsize=2,
                                                    host='127.0.0.1',
                                                    port=3306,
                                                    user='******',
                                                    password='******',
                                                    db='test',
                                                    loop=self.loop)

        self.keep_alive = KeepAliveService(self.pool, self.loop, 1).start()
    def setUp(self):
        self.root_conn = yield from aiomysql.connect(host='127.0.0.1', port=3306,
                                                            user='******', password='******', db='test',
                                                            loop=self.loop)
        cur = yield from self.root_conn.cursor()
        yield from cur.execute("SET GLOBAL wait_timeout=1")
        yield from cur.close()

        self.pool = yield from aiomysql.create_pool(minsize=2, host='127.0.0.1', port=3306,
                                                    user='******', password='******', db='test',
                                                    loop=self.loop)

        self.keep_alive = KeepAliveService(self.pool, self.loop, 1).start()
Example #5
0
    current_cost = create_current_cost(redis_pool_, config['current_cost'])
    current_cost_recorder = AsyncRedisSubscriber(
        redis_pool_,
        MysqlCurrentCostMessageHandler(mysq_pool, average_period_minutes=10),
        CURRENT_COST_KEY).start()
    pool_temp_recorder = AsyncRedisSubscriber(
        redis_pool_,
        MysqlTemperatureMessageHandler(mysq_pool,
                                       'pool_temperature',
                                       average_period_minutes=10),
        RFXCOM_KEY).start()


if __name__ == '__main__':
    config = configparser.ConfigParser()
    config.read(os.path.dirname(__file__) + '/domopyc.conf')

    sslcontext = None
    if 'sslcontext' in config:
        sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
        sslcontext.load_cert_chain(config['sslcontext']['crt_file'],
                                   config['sslcontext']['key_file'])

    loop = asyncio.get_event_loop()
    pool = loop.run_until_complete(create_mysql_pool(config['mysql']))
    keep_alive = KeepAliveService(pool, loop).start()
    loop.run_until_complete(
        init(loop, pool, config=config, sslcontext=sslcontext))
    asyncio. async (run_application(pool, config))
    loop.run_forever()