千问开源大模型
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
996 B

  1. '''
  2. "{
  3.     "scenes_id":2222,
  4.     "operation":"stop",
  5.     "version":5
  6. }"
  7. scenes_id=2222
  8. version!=0
  9. '''
  10. from kazoo.client import KazooClient
  11. from kazoo.protocol.states import EventType
  12. import time
  13. # 连接到ZooKeeper服务器
  14. zk = KazooClient(hosts='172.18.1.146:2181,172.18.1.147:2181,172.18.1.148:2181')
  15. zk.start()
  16. # 定义数据变更时的回调函数
  17. def data_change_listener(event):
  18. if event.type == EventType.CHANGED:
  19. data, stat = zk.get("/analyze")
  20. print("Data changed on node /analyze: {data.decode('utf-8')}")
  21. elif event.type == EventType.DELETED:
  22. print("Node /analyze has been deleted")
  23. # 设置监听器
  24. @zk.DataWatch("/analyze")
  25. def watch_node(data, stat, event):
  26. if event is not None:
  27. data_change_listener(event)
  28. # 保持程序运行以监听节点变化
  29. try:
  30. while True:
  31. print("ok")
  32. time.sleep(1)
  33. except KeyboardInterrupt:
  34. print("Stopping...")
  35. # 关闭连接
  36. zk.stop()
  37. zk.close()