Guest User

Untitled

a guest
Jan 31st, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. import json
  2. import threading
  3. import SocketServer
  4. from azure.eventhub import EventHubClient, EventData
  5.  
  6. ADDRESS = ""
  7. USER = ""
  8. KEY = ""
  9.  
  10. class ThreadedUDPRequestHandler(SocketServer.BaseRequestHandler):
  11.  
  12. def handle(self):
  13. data = self.request[0].strip()
  14. current_thread = threading.current_thread()
  15. print("Thread: {} client: {}, wrote: {}".format(current_thread.name, self.client_address, data))
  16. Split = threading.Thread(target=ParseIncomingData,args=(data,))
  17. Split.start()
  18.  
  19.  
  20.  
  21. class ThreadedUDPServer(SocketServer.ThreadingMixIn, SocketServer.UDPServer):
  22. pass
  23.  
  24.  
  25. def SendToEventHub(data):
  26. if not ADDRESS:
  27. raise ValueError("No EventHubs URL supplied.")
  28. client = EventHubClient(ADDRESS, debug=False, username=USER, password=KEY)
  29. sender = client.add_sender(partition="0")
  30. client.run()
  31. try:
  32. print("Thread: {}, Sending message: {}".format(threading.current_thread().name,data))
  33. sender.send(EventData(data))
  34. except:
  35. raise
  36. finally:
  37. client.stop()
  38.  
  39.  
  40. def ParseIncomingData(message):
  41. sender = threading.Thread(target=SendToEventHub, args=(json.dumps(message),))
  42. sender.start()
  43.  
  44.  
  45. if __name__ == "__main__":
  46. HOST, PORT = "0.0.0.0", 6071
  47. try:
  48. serverUDP = ThreadedUDPServer((HOST, PORT), ThreadedUDPRequestHandler)
  49. server_thread_UDP = threading.Thread(target=serverUDP.serve_forever)
  50. server_thread_UDP.daemon = True
  51. server_thread_UDP.start()
  52. serverUDP.serve_forever()
  53. except (KeyboardInterrupt, SystemExit):
  54. serverUDP.shutdown()
  55. serverUDP.server_close()
  56. exit()
Add Comment
Please, Sign In to add comment