当没有internet连接时停止python脚本中止

2024-04-29 08:24:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本运行在使用azureiotdk的revPi上。该脚本基本上从一个.json文件接受一堆modbus寄存器,添加一些属性并将其发送到azureiothub进行分析。在

脚本当前过于依赖于网络连接,并且由于基础设施的限制,连接不可靠,并且经常导致脚本经常死机/中止。如何使脚本在这个糟糕的网络连接上运行?使用的主要库是pymodbus和iothub_客户端。在


Tags: 文件脚本json客户端属性基础设施iothub寄存器
1条回答
网友
1楼 · 发布于 2024-04-29 08:24:35

根据Checking network connection我建议这样做

   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循环或添加线程休眠来停止频繁检查可能更为明智。在

希望这有帮助。在

相关问题 更多 >