Skip to content

Commit d5ac142

Browse files
Adjust samples to handle the deregistration event without an exception.
1 parent fb01fa0 commit d5ac142

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

samples/DatabaseChangeNotification.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@
2424
import threading
2525
import time
2626

27+
registered = True
28+
2729
def callback(message):
30+
global registered
2831
print("Message type:", message.type)
32+
if message.type == cx_Oracle.EVENT_DEREG:
33+
print("Deregistration has taken place...")
34+
registered = False
35+
return
2936
print("Message database name:", message.dbname)
3037
print("Message tables:")
3138
for table in message.tables:
@@ -52,7 +59,7 @@ def callback(message):
5259
print("--> Rowids?:", bool(sub.qos & cx_Oracle.SUBSCR_QOS_ROWIDS))
5360
sub.registerquery("select * from TestTempTable")
5461

55-
while True:
62+
while registered:
5663
print("Waiting for notifications....")
5764
time.sleep(5)
5865

samples/QueryChangeNotification.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@
2424
import threading
2525
import time
2626

27+
registered = True
28+
2729
def callback(message):
30+
global registered
2831
print("Message type:", message.type)
32+
if message.type == cx_Oracle.EVENT_DEREG:
33+
print("Deregistration has taken place...")
34+
registered = False
35+
return
2936
print("Message database name:", message.dbname)
3037
print("Message queries:")
3138
for query in message.queries:
@@ -56,7 +63,7 @@ def callback(message):
5663
queryId = sub.registerquery("select * from TestTempTable")
5764
print("Registered query:", queryId)
5865

59-
while True:
66+
while registered:
6067
print("Waiting for notifications....")
6168
time.sleep(5)
6269

0 commit comments

Comments
 (0)