收集事件名
This commit is contained in:
parent
628f993e1b
commit
c81abb3006
@ -7,26 +7,12 @@ class EventAttr:
|
|||||||
def __init__(self, rdb: Redis):
|
def __init__(self, rdb: Redis):
|
||||||
self.rdb = rdb
|
self.rdb = rdb
|
||||||
|
|
||||||
def get_event_attr(self, key):
|
def set_event_name(self, key, *data):
|
||||||
attr = self.event_attr.get(key)
|
|
||||||
if not attr:
|
|
||||||
self.event_attr[key] = self.rdb.smembers(key) or set()
|
|
||||||
return set(self.event_attr[key])
|
|
||||||
|
|
||||||
def set_event_attr(self, key, *data):
|
|
||||||
self.rdb.sadd(key, *data)
|
self.rdb.sadd(key, *data)
|
||||||
self.event_attr[key] = data
|
|
||||||
|
|
||||||
def check_attr(self, db, data):
|
def add_event(self, db, data):
|
||||||
event_name = data.get('#event_name')
|
event_name = data.get('#event_name')
|
||||||
if not event_name:
|
if not event_name:
|
||||||
return
|
return
|
||||||
|
key = f'{db}_event_set'
|
||||||
key = f'{db}_event_{event_name}'
|
self.set_event_name(key, event_name)
|
||||||
|
|
||||||
attr = self.get_event_attr(key)
|
|
||||||
data_attr = set(data)
|
|
||||||
extra_attr = data_attr - attr
|
|
||||||
|
|
||||||
if extra_attr:
|
|
||||||
self.set_event_attr(key, *extra_attr)
|
|
||||||
|
@ -104,10 +104,13 @@ class Transmitter:
|
|||||||
def check_table(self, db, tb, data):
|
def check_table(self, db, tb, data):
|
||||||
[self.sketch.alter_table(db, tb, item) for item in data]
|
[self.sketch.alter_table(db, tb, item) for item in data]
|
||||||
|
|
||||||
def set_event_attr(self, db, tb, data):
|
|
||||||
|
|
||||||
|
def collect_event(self, db, tb, data):
|
||||||
if tb != 'event':
|
if tb != 'event':
|
||||||
return
|
return
|
||||||
[self.event_attr.check_attr(db, item) for item in data]
|
|
||||||
|
[self.event_attr.add_event(db, item) for item in data]
|
||||||
|
|
||||||
def check_type(self, db, tb, data):
|
def check_type(self, db, tb, data):
|
||||||
struct_dict = self.sketch.struct_dict[f'{db}_{tb}']
|
struct_dict = self.sketch.struct_dict[f'{db}_{tb}']
|
||||||
@ -131,7 +134,7 @@ class Transmitter:
|
|||||||
data = [self.flat_data(x) for x in buffer.values()]
|
data = [self.flat_data(x) for x in buffer.values()]
|
||||||
self.check_table(self.db_name, tb, data)
|
self.check_table(self.db_name, tb, data)
|
||||||
self.check_type(self.db_name, tb, data)
|
self.check_type(self.db_name, tb, data)
|
||||||
self.set_event_attr(self.db_name, tb, data)
|
self.collect_event(self.db_name, tb, data)
|
||||||
self.__send(self.db_name, tb, [json.dumps(item) for item in data])
|
self.__send(self.db_name, tb, [json.dumps(item) for item in data])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
|
Loading…
Reference in New Issue
Block a user