From 346290412a7f17c817648cff543cc22ec00f949b Mon Sep 17 00:00:00 2001 From: wuaho Date: Tue, 17 Aug 2021 14:33:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E5=9B=BE=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_event_view.py.template | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 update_event_view.py.template diff --git a/update_event_view.py.template b/update_event_view.py.template new file mode 100644 index 0000000..1dc9e30 --- /dev/null +++ b/update_event_view.py.template @@ -0,0 +1,39 @@ +# coding:utf-8 +""" +更新事件表视图 +""" +import json +import os + +from settings import settings + +game = '' +db = settings.GAME +svrid_file = f'{game}_svrid.json' +server_list_url = f'http://gametools.legu.cc/?app=api&act=getServerList&game={game}' + +import pandas as pd +from clickhouse_driver import Client + +client = Client(**settings.CK_CONFIG) + +df = pd.read_json(server_list_url) +df = df[~df['hostname'].isin(['119.3.89.14', '119.3.105.109'])] +serverid = tuple((str(i) for i in df['serverid'].to_list())) + +if os.path.exists(svrid_file): + with open(svrid_file, 'r') as f: + old_svrid = json.load(f) + if set(old_svrid) == set(serverid): + exit(0) + +sql = f"""drop table if exists {db}.event_view""" +res1 = client.execute(sql) +sql = f"""create view {db}.event_view as +select * +from {db}.event +where lower(`#os`) != 'windows' + and svrindex in {serverid}""" +res2 = client.execute(sql) +with open(svrid_file, 'w') as f: + json.dump(sorted(serverid), f)