From 200b489b97119652ae99c265094c374e43d5e595 Mon Sep 17 00:00:00 2001 From: stedif <stefano.difrischia@inaf.it> Date: Tue, 29 Jun 2021 11:27:30 +0200 Subject: [PATCH] L2SS-234: Replace Python-MySQL connection library from 'mysql.connector' to 'PyMySql' --- devices/toolkit/archiver.py | 4 +- docker-compose/jupyter/Dockerfile | 2 +- jupyter-notebooks/archiving_test_v2.ipynb | 66 +++++++++-------------- 3 files changed, 29 insertions(+), 43 deletions(-) diff --git a/devices/toolkit/archiver.py b/devices/toolkit/archiver.py index 942fcf2e2..9efbf69b4 100644 --- a/devices/toolkit/archiver.py +++ b/devices/toolkit/archiver.py @@ -5,7 +5,7 @@ from .lofar2_config import configure_logging from tango import DeviceProxy from datetime import datetime, timedelta -import mysql.connector +import pymysql from sqlalchemy import create_engine, and_ from sqlalchemy.orm import sessionmaker from sqlalchemy.orm.session import Session @@ -39,7 +39,7 @@ def connect_to_archiving_db(host: str = 'archiver-maria-db', port: int = 3306, u """ Returns a session to a MySQL DBMS using default or user-defined credentials. """ - engine = create_engine('mysql+mysqlconnector://'+user+':'+password+'@'+host+':'+str(port)+'/'+database) + engine = create_engine('mysql+pymysql://'+user+':'+password+'@'+host+':'+str(port)+'/'+database) Session = sessionmaker(bind=engine) return Session() diff --git a/docker-compose/jupyter/Dockerfile b/docker-compose/jupyter/Dockerfile index 79e17ae5f..03dd2690f 100644 --- a/docker-compose/jupyter/Dockerfile +++ b/docker-compose/jupyter/Dockerfile @@ -24,7 +24,7 @@ RUN sudo pip3 install python-logstash-async COPY jupyter-notebook /usr/local/bin/jupyter-notebook #Install further python modules -RUN sudo pip3 install mysql-connector-python sqlalchemy +RUN sudo pip3 install PyMySQL[rsa] sqlalchemy # Add Tini. Tini operates as a process subreaper for jupyter. This prevents kernel crashes. ENV TINI_VERSION v0.6.0 diff --git a/jupyter-notebooks/archiving_test_v2.ipynb b/jupyter-notebooks/archiving_test_v2.ipynb index 3e61e9273..a91a06cc0 100644 --- a/jupyter-notebooks/archiving_test_v2.ipynb +++ b/jupyter-notebooks/archiving_test_v2.ipynb @@ -11,7 +11,7 @@ "sys.path.append('/hosthome/tango/devices')\n", "from toolkit.archiver import *\n", "from toolkit.archiver_base import *\n", - "import mysql.connector" + "import pymysql" ] }, { @@ -55,8 +55,7 @@ { "data": { "text/plain": [ - "[<Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd1',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd1')>,\n", - " <Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd3',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd3')>]" + "[]" ] }, "execution_count": 4, @@ -98,9 +97,7 @@ { "data": { "text/plain": [ - "[<Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd1',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd1')>,\n", - " <Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd3',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd3')>,\n", - " <Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd5',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd5')>]" + "[<Attribute(fullname='tango://databaseds:10000/lts/randomdata/1/rnd5',data_type ='37',ttl='0',facility ='tango://databaseds:10000',domain ='lts',family ='randomdata',member ='1',name ='rnd5')>]" ] }, "execution_count": 7, @@ -121,7 +118,7 @@ { "data": { "text/plain": [ - "3" + "1" ] }, "execution_count": 8, @@ -164,17 +161,17 @@ { "data": { "text/plain": [ - "[<Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:07.119788',recv_time='2021-06-25 15:24:07.930917',insert_time='2021-06-25 15:24:07.932652',value_r='0.2033680434',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:08.120465',recv_time='2021-06-25 15:24:08.124548',insert_time='2021-06-25 15:24:08.127058',value_r='0.9330212368',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:09.120343',recv_time='2021-06-25 15:24:09.123946',insert_time='2021-06-25 15:24:09.126367',value_r='0.1619766261',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:10.120398',recv_time='2021-06-25 15:24:10.123090',insert_time='2021-06-25 15:24:10.125112',value_r='0.1600708165',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:11.120518',recv_time='2021-06-25 15:24:11.123866',insert_time='2021-06-25 15:24:11.125772',value_r='0.1953627874',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:12.120626',recv_time='2021-06-25 15:24:12.123934',insert_time='2021-06-25 15:24:12.126119',value_r='0.4233485985',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:13.120682',recv_time='2021-06-25 15:24:13.123542',insert_time='2021-06-25 15:24:13.125435',value_r='0.1744663070',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:14.120714',recv_time='2021-06-25 15:24:14.123980',insert_time='2021-06-25 15:24:14.126306',value_r='0.9820536486',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:15.120239',recv_time='2021-06-25 15:24:15.122162',insert_time='2021-06-25 15:24:15.123428',value_r='0.9547788992',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:16.120990',recv_time='2021-06-25 15:24:16.124006',insert_time='2021-06-25 15:24:16.126385',value_r='0.1627633385',quality='2',att_error_desc_id='None')>,\n", - " <Scalar_Double_RO(att_conf_id='3',data_time='2021-06-25 15:24:17.120261',recv_time='2021-06-25 15:24:17.124313',insert_time='2021-06-25 15:24:17.126494',value_r='0.2554102953',quality='2',att_error_desc_id='None')>]" + "[<Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:38.714262',recv_time='2021-06-29 09:16:38.774292',insert_time='2021-06-29 09:16:39.159880',value_r='0.2958946761',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:39.714827',recv_time='2021-06-29 09:16:39.719078',insert_time='2021-06-29 09:16:39.721273',value_r='0.8807975186',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:40.714155',recv_time='2021-06-29 09:16:40.716398',insert_time='2021-06-29 09:16:40.717919',value_r='0.0134650459',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:41.714350',recv_time='2021-06-29 09:16:41.717135',insert_time='2021-06-29 09:16:41.718952',value_r='0.9234930024',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:42.714262',recv_time='2021-06-29 09:16:42.716531',insert_time='2021-06-29 09:16:42.718287',value_r='0.9836669132',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:43.713763',recv_time='2021-06-29 09:16:43.715033',insert_time='2021-06-29 09:16:43.715846',value_r='0.9767208804',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:44.714301',recv_time='2021-06-29 09:16:44.717308',insert_time='2021-06-29 09:16:44.718940',value_r='0.7456424356',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:45.715039',recv_time='2021-06-29 09:16:45.718040',insert_time='2021-06-29 09:16:45.719659',value_r='0.0549410354',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:46.714540',recv_time='2021-06-29 09:16:46.716689',insert_time='2021-06-29 09:16:46.718230',value_r='0.0321376209',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:47.714685',recv_time='2021-06-29 09:16:47.716871',insert_time='2021-06-29 09:16:47.718901',value_r='0.4936257329',quality='2',att_error_desc_id='None')>,\n", + " <Scalar_Double_RO(att_conf_id='1',data_time='2021-06-29 09:16:48.714605',recv_time='2021-06-29 09:16:48.716232',insert_time='2021-06-29 09:16:48.716840',value_r='0.4535587703',quality='2',att_error_desc_id='None')>]" ] }, "execution_count": 10, @@ -188,38 +185,27 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "ab476d57", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "get_attribute_value_by_interval(main_att, '2021-06-21 13:20:00', '2021-06-23 15:21:00')" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "21c9b91b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Decimal('0.2033680434')" + "Decimal('0.2958946761')" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -232,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 12, "id": "762ea947", "metadata": {}, "outputs": [ @@ -242,7 +228,7 @@ "(toolkit.archiver_base.Scalar_Double,)" ] }, - "execution_count": 18, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -253,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 13, "id": "56b31348", "metadata": {}, "outputs": [ @@ -261,7 +247,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "[0.2033680434, 0.9330212368, 0.1619766261, 0.1600708165, 0.1953627874, 0.4233485985, 0.174466307, 0.9820536486, 0.9547788992, 0.1627633385, 0.2554102953]\n" + "[0.2958946761, 0.8807975186, 0.0134650459, 0.9234930024, 0.9836669132, 0.9767208804, 0.7456424356, 0.0549410354, 0.0321376209, 0.4936257329, 0.4535587703]\n" ] } ], @@ -272,7 +258,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 14, "id": "a26aa8f0", "metadata": {}, "outputs": [ @@ -280,7 +266,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "['2021-06-25 15:24:07:930917', '2021-06-25 15:24:08:124548', '2021-06-25 15:24:09:123946', '2021-06-25 15:24:10:123090', '2021-06-25 15:24:11:123866', '2021-06-25 15:24:12:123934', '2021-06-25 15:24:13:123542', '2021-06-25 15:24:14:123980', '2021-06-25 15:24:15:122162', '2021-06-25 15:24:16:124006', '2021-06-25 15:24:17:124313']\n" + "['2021-06-29 09:16:38:774292', '2021-06-29 09:16:39:719078', '2021-06-29 09:16:40:716398', '2021-06-29 09:16:41:717135', '2021-06-29 09:16:42:716531', '2021-06-29 09:16:43:715033', '2021-06-29 09:16:44:717308', '2021-06-29 09:16:45:718040', '2021-06-29 09:16:46:716689', '2021-06-29 09:16:47:716871', '2021-06-29 09:16:48:716232']\n" ] } ], -- GitLab