Starting multiple terra runs in quick succession can hit a race condition in the log port if each process is manually checking if a port is available.
A good solution is to just let the OS pick a port for you (via port 0). But we need to add special support for this.
I've investigated the future compatibility of this feature some.
Eventually, I want to use an AF_UNIX file socket, however in windows, this feature was never added to python (due to MS having half assed support for things like UDP)
The plan was to eliminate using INET for most use case, however there will still be many cases that will still need AF_INET
Windows. When using virtualenv, localhost will be acceptable, but on docker compute, we will be back to needing the actual IP, and depending on the configuration of the computer, we will need the same TERRA_RESOLVE_HOSTNAME workaround
Distributed computing (celery) will need AF_INET for sure.
Starting multiple terra runs in quick succession can hit a race condition in the log port if each process is manually checking if a port is available.
A good solution is to just let the OS pick a port for you (via port
0
). But we need to add special support for this.I've investigated the future compatibility of this feature some.
AF_UNIX
file socket, however in windows, this feature was never added to python (due to MS having half assed support for things like UDP)AF_INET
TERRA_RESOLVE_HOSTNAME
workaroundAF_INET
for sure.AF_UNIX