Согласно Проверка сетевого подключения Я бы предложил что-то вроде этого;
import urllib2
if(internet_on())
CallFunction()
else
internet_on()
def internet_on():
try:
urllib2.urlopen('http://216.58.192.142', timeout=1)
return True
except urllib2.URLError as err:
return False
"216.58.192.142" - это адрес Google, но вы можете использовать любой надежный, например Azure, какэто то место, куда вы отправляете свои данные.
Возможно, более разумно использовать цикл while или добавить спящий поток, чтобы прекратить его частую проверку.
Надеюсь, это поможет.