def return_connection_info(connection_file, ip, response_addr, disable_gateway_socket):
gateway_sock = None
response_parts = response_addr.split(":")
if len(response_parts) != 2:
print("Invalid format for response address '{}'. Assuming 'pull' mode...".format(response_addr))
return
response_ip = response_parts[0]
try:
response_port = int(response_parts[1])
except ValueError:
print("Invalid port component found in response address '{}'. Assuming 'pull' mode...".format(response_addr))
return
with open(connection_file) as fp:
cf_json = json.load(fp)
fp.close()
# add process and process group ids into connection info.
pid = os.getpid()
cf_json['pid'] = str(pid)
cf_json['pgid'] = str(os.getpgid(pid))
# prepare socket address for handling signals
if not disable_gateway_socket:
gateway_sock = prepare_gateway_socket()
cf_json['comm_port'] = gateway_sock.getsockname()[1]
s = socket(AF_INET, SOCK_STREAM)
try:
s.connect((response_ip, response_port))
s.send(json.dumps(cf_json).encode(encoding='utf-8'))
finally:
s.close()
return gateway_sock
launch_ipykernel.py 文件源码
python
阅读 31
收藏 0
点赞 0
评论 0
评论列表
文章目录