【发布时间】:2020-01-16 02:23:40
【问题描述】:
我有一个 python 脚本,它将在树莓上 24/7 运行至少五个月,如果出现任何问题,我无法访问该东西以重新启动它。它使用各种库连接到 sql 数据库、无线 RFID 阅读器等。
基本上是几十行定义函数,通过usb/serial将raspberry连接到设备,然后是一个大的while True:循环。
我想确保如果发生错误,代码将继续运行(或重试直到没有错误发生)并且不会卡在错误上。我读到我可以使用try: Except: but it seems to be not be recommended。
您是否有任何资源可以让我学习如何使 Python 脚本在发生任何情况时都防弹,或者有关如何做到这一点的想法?
【问题讨论】:
-
没办法,因为硬件很可能出故障。
-
这真的取决于你期望(并且想要处理)什么样的失败,但通常我会说你应该离开那个“保持活力”/自动重启/......在你的python代码中而是让您的发行版处理它。启动该过程并在它终止时继续这样做。根据您的 init 及其能力,您可能已经获得了该功能并且只需注册另一个服务。这也可能涵盖正在重启的主机,而您实际上无法在脚本本身内做任何事情。