Commit 455e0cd0 authored by Alok Saldanha's avatar Alok Saldanha
Browse files

#9 skip ports that are in use

parent c937f907
......@@ -20,6 +20,11 @@ from cellxgene_gateway.subprocess_backend import SubprocessBackend
process_backend = SubprocessBackend()
def is_port_in_use(port):
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
return s.connect_ex(('localhost', port)) == 0
class BackendCache:
def __init__(self):
self.entry_list = []
......@@ -49,7 +54,7 @@ class BackendCache:
def create_entry(self, dataset, file_path, scripts):
port = 8000
existing_ports = self.get_ports()
while port in existing_ports:
while (port in existing_ports) or is_port_in_use(port):
port += 1
entry = CacheEntry.for_dataset(dataset, file_path, port)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment