Skip to content

Commit

Permalink
Improved check_online() robustness (#10000)
Browse files Browse the repository at this point in the history
* Improved check_online() robustness 

YOLOv5-wide improvement, not just in check_requirements()

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Update general.py

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
  • Loading branch information
glenn-jocher committed Nov 1, 2022
1 parent c55e2cd commit 067ad9a
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions utils/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,11 +283,16 @@ def file_size(path):
def check_online():
# Check internet connectivity
import socket
try:
socket.create_connection(("1.1.1.1", 443), 5) # check host accessibility
return True
except OSError:
return False

def run_once():
# Check once
try:
socket.create_connection(("1.1.1.1", 443), 5) # check host accessibility
return True
except OSError:
return False

return run_once() or run_once() # check twice to increase robustness to intermittent connectivity issues


def git_describe(path=ROOT): # path must be a directory
Expand Down Expand Up @@ -369,7 +374,7 @@ def check_requirements(requirements=ROOT / 'requirements.txt', exclude=(), insta
if s and install and AUTOINSTALL: # check environment variable
LOGGER.info(f"{prefix} YOLOv5 requirement{'s' * (n > 1)} {s}not found, attempting AutoUpdate...")
try:
assert check_online() or check_online(), "AutoUpdate skipped (offline)"
assert check_online(), "AutoUpdate skipped (offline)"
LOGGER.info(check_output(f'pip install {s} {cmds}', shell=True).decode())
source = file if 'file' in locals() else requirements
s = f"{prefix} {n} package{'s' * (n > 1)} updated per {source}\n" \
Expand Down

0 comments on commit 067ad9a

Please sign in to comment.