yql_ports.py 976 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from yatest.common.network import PortManager
  2. import yql_utils
  3. port_manager = None
  4. def get_yql_port(service='unknown'):
  5. global port_manager
  6. if port_manager is None:
  7. port_manager = PortManager()
  8. port = port_manager.get_port()
  9. yql_utils.log('get port for service %s: %d' % (service, port))
  10. return port
  11. def release_yql_port(port):
  12. if port is None:
  13. return
  14. global port_manager
  15. port_manager.release_port(port)
  16. def get_yql_port_range(service, count):
  17. global port_manager
  18. if port_manager is None:
  19. port_manager = PortManager()
  20. port = port_manager.get_port_range(None, count)
  21. yql_utils.log('get port range for service %s: start_port: %d, count: %d' % (service, port, count))
  22. return port
  23. def release_yql_port_range(start_port, count):
  24. if start_port is None:
  25. return
  26. global port_manager
  27. for port in range(start_port, start_port + count):
  28. port_manager.release_port(port)