Skip to content

Commit 8d589e5

Browse files
committed
add opcode for notification of redis DB
1 parent cb4fec9 commit 8d589e5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/swsssdk/configdb.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ def unsubscribe(self, table):
7676
if self.handlers.has_key(table):
7777
self.handlers.pop(table)
7878

79-
def __fire(self, table, key, data):
79+
def __fire(self, table, key, data, op_str='add'):
8080
if self.handlers.has_key(table):
8181
handler = self.handlers[table]
82-
handler(table, key, data)
82+
handler(table, key, data, op_str)
8383

8484
def listen(self):
8585
"""Start listen Redis keyspace events and will trigger corresponding handlers when content of a table changes.
@@ -94,7 +94,11 @@ def listen(self):
9494
if self.handlers.has_key(table):
9595
client = self.redis_clients[self.CONFIG_DB]
9696
data = self.__raw_to_typed(client.hgetall(key))
97-
self.__fire(table, row, data)
97+
op = client.keys(key)
98+
op_str = 'add'
99+
if len(op) == 0:
100+
op_str = 'del'
101+
self.__fire(table, row, data, op_str)
98102
except ValueError:
99103
pass #Ignore non table-formated redis entries
100104

0 commit comments

Comments
 (0)