code: def get_communication_port(network_interface):
      ralCommunicationPort = random.randint(10000, 32000)
      workerIp = ni.ifaddresses(network_interface)[ni.AF_INET][0][
          "addr"
      ]
      while checkSocket(ralCommunicationPort) is False:
          ralCommunicationPort = random.randint(10000, 32000)
      return {"port": ralCommunicationPort, "ip": workerIp}
  
file_path: blazingsql/pyblazing/pyblazing/apiv2/comms.py
imports: import errno
  import random
  import socket
  import netifaces
  from dask.distributed import default_client
  from distributed import get_worker
  from distributed.comm.addressing import parse_host_port
  from distributed.comm.ucx import UCXConnector, UCXListener
  from ucp.endpoint_reuse import EndpointReuse
label_desc: Use image node_id 3 for calling a global function with example usage: get_communication_port(network_interface) and returns: dict