This commit is contained in:
1-6
2023-08-05 16:49:44 +08:00
parent 1034ce23a1
commit 2cbcfa1a5e
+36 -36
View File
@@ -113,42 +113,42 @@ class Bucket:
response = stub.BucketBuckets(request) response = stub.BucketBuckets(request)
return list(response.buckets) return list(response.buckets)
def watch(self, key, handle): def watch(self):
queue = Queue() def watch_thread(self, key, handle):
queue = Queue()
def entry_request_iterator():
yield srpc_pb2.BucketWatchRequest(
name=self.__name, key=key, plugin_id=plugin_id
)
while True:
yield queue.get()
print("queue.get()")
# 阻塞A区 等待B区发送数据
def entry_request_iterator(): generator = entry_request_iterator()
yield srpc_pb2.BucketWatchRequest( for response in stub.BucketWatch(generator):
name=self.__name, key=key, plugin_id=plugin_id print("Server response:", response)
) old = transform(response.old)
while True: now = transform(response.now)
yield queue.get() result = handle(old, now, response.key)
print("queue.get()") try:
# 阻塞A区 等待B区发送数据 fin = result
except Exception as e:
generator = entry_request_iterator() print(e)
for response in stub.BucketWatch(generator): continue
print("Server response:", response) storage_modifier = {
old = transform(response.old) "echo": response.echo,
now = transform(response.now) }
result = handle(old, now, response.key) if not fin:
try: storage_modifier["error"] = "VOID"
fin = result else:
except Exception as e: if "now" in fin:
print(e) storage_modifier["now"] = reverseTransform(fin["now"])
continue if "message" in fin:
storage_modifier = { storage_modifier["message"] = fin["message"]
"echo": response.echo, if "error" in fin:
} storage_modifier["error"] = fin["error"]
if not fin: queue.put(srpc_pb2.BucketWatchRequest(**storage_modifier))
storage_modifier["error"] = "VOID"
else:
if "now" in fin:
storage_modifier["now"] = reverseTransform(fin["now"])
if "message" in fin:
storage_modifier["message"] = fin["message"]
if "error" in fin:
storage_modifier["error"] = fin["error"]
queue.put(srpc_pb2.BucketWatchRequest(**storage_modifier))
app = Bucket("test") app = Bucket("test")
@@ -181,7 +181,7 @@ app.watch(key="*", handle=handle)
# app.name = random.randrange(1,100,1) # app.name = random.randrange(1,100,1)
# print("==") # print("==")
# app.deleteAll() # app.deleteAll()
print(app.name) print("app.name", app.name)
class Sender: class Sender: